@plitzi/sdk-elements 0.37.8 → 0.37.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/CHANGELOG.md +835 -0
  2. package/dist/Element/ElementContext.mjs +2 -3
  3. package/dist/Element/ElementParentContext.mjs +2 -3
  4. package/dist/Element/ElementWords.d.ts +16 -0
  5. package/dist/Element/ElementWords.mjs +19 -0
  6. package/dist/Element/LayoutBody.d.ts +12 -9
  7. package/dist/Element/LayoutBody.mjs +13 -14
  8. package/dist/Element/RootElement.mjs +15 -12
  9. package/dist/Element/helpers/elementConstants.mjs +27 -0
  10. package/dist/Element/helpers/renderStaticTag.d.ts +3 -1
  11. package/dist/Element/helpers/renderStaticTag.mjs +6 -5
  12. package/dist/Element/hooks/useElementDataSource.mjs +20 -19
  13. package/dist/Element/hooks/useElementInternal.mjs +21 -20
  14. package/dist/Element/hooks/useInternalClassName.mjs +1 -1
  15. package/dist/Element/hooks/useInternalItems.mjs +33 -31
  16. package/dist/Element/hooks/useIntervalTriggers.d.ts +17 -0
  17. package/dist/Element/hooks/useIntervalTriggers.mjs +37 -0
  18. package/dist/Element/hooks/useRootElementInteractions.d.ts +6 -2
  19. package/dist/Element/hooks/useRootElementInteractions.mjs +84 -63
  20. package/dist/Element/hooks/useScrollInteractions.d.ts +20 -0
  21. package/dist/Element/hooks/useScrollInteractions.mjs +58 -0
  22. package/dist/components/IconField/IconField.d.ts +8 -0
  23. package/dist/components/IconField/IconField.mjs +41 -0
  24. package/dist/components/IconField/index.d.ts +2 -0
  25. package/dist/components/IconField/index.mjs +2 -0
  26. package/dist/components/IconPicker/IconPicker.d.ts +11 -0
  27. package/dist/components/IconPicker/IconPicker.mjs +82 -0
  28. package/dist/components/IconPicker/index.d.ts +2 -0
  29. package/dist/components/IconPicker/index.mjs +2 -0
  30. package/dist/dataSource/GlobalSources.mjs +102 -83
  31. package/dist/dataSource/useFlag.d.ts +9 -0
  32. package/dist/dataSource/useFlag.mjs +8 -0
  33. package/dist/elements/advanced/BlockHtml/declaration.d.ts +1 -1
  34. package/dist/elements/advanced/BlockHtml/declaration.mjs +1 -1
  35. package/dist/elements/advanced/BlockHtml/index.d.ts +1 -1
  36. package/dist/elements/advanced/BlockJsx/Settings.mjs +2 -1
  37. package/dist/elements/advanced/BlockJsx/declaration.d.ts +1 -1
  38. package/dist/elements/advanced/BlockJsx/declaration.mjs +1 -1
  39. package/dist/elements/advanced/BlockJsx/index.d.ts +1 -1
  40. package/dist/elements/advanced/Custom/declaration.d.ts +1 -1
  41. package/dist/elements/advanced/Custom/declaration.mjs +1 -1
  42. package/dist/elements/advanced/Custom/index.d.ts +1 -1
  43. package/dist/elements/advanced/NodeHtml/declaration.d.ts +3 -3
  44. package/dist/elements/advanced/NodeHtml/declaration.mjs +1 -1
  45. package/dist/elements/advanced/NodeHtml/index.d.ts +3 -3
  46. package/dist/elements/advanced/Reference/PropField.d.ts +13 -0
  47. package/dist/elements/advanced/Reference/PropField.mjs +65 -0
  48. package/dist/elements/advanced/Reference/Reference.d.ts +5 -6
  49. package/dist/elements/advanced/Reference/Reference.mjs +128 -138
  50. package/dist/elements/advanced/Reference/Settings.d.ts +5 -4
  51. package/dist/elements/advanced/Reference/Settings.mjs +48 -87
  52. package/dist/elements/advanced/Reference/declaration.d.ts +3 -5
  53. package/dist/elements/advanced/Reference/declaration.mjs +3 -4
  54. package/dist/elements/advanced/Reference/index.d.ts +3 -5
  55. package/dist/elements/basic/Button/Button.d.ts +9 -1
  56. package/dist/elements/basic/Button/Button.mjs +31 -19
  57. package/dist/elements/basic/Button/Settings.d.ts +3 -1
  58. package/dist/elements/basic/Button/Settings.mjs +39 -33
  59. package/dist/elements/basic/Button/declaration.d.ts +7 -1
  60. package/dist/elements/basic/Button/declaration.mjs +10 -4
  61. package/dist/elements/basic/Button/index.d.ts +7 -1
  62. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.d.ts +1 -1
  63. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.mjs +1 -1
  64. package/dist/elements/basic/Dropdown/DropdownPopup/index.d.ts +1 -1
  65. package/dist/elements/basic/Dropdown/declaration.d.ts +1 -1
  66. package/dist/elements/basic/Dropdown/declaration.mjs +1 -1
  67. package/dist/elements/basic/Dropdown/index.d.ts +2 -2
  68. package/dist/elements/basic/Heading/declaration.d.ts +1 -1
  69. package/dist/elements/basic/Heading/declaration.mjs +1 -1
  70. package/dist/elements/basic/Heading/index.d.ts +1 -1
  71. package/dist/elements/basic/Link/Link.d.ts +20 -1
  72. package/dist/elements/basic/Link/Link.mjs +67 -47
  73. package/dist/elements/basic/Link/Settings.d.ts +6 -1
  74. package/dist/elements/basic/Link/Settings.mjs +91 -58
  75. package/dist/elements/basic/Link/declaration.d.ts +14 -1
  76. package/dist/elements/basic/Link/declaration.mjs +15 -5
  77. package/dist/elements/basic/Link/index.d.ts +14 -1
  78. package/dist/elements/basic/Link/isCurrentPage.d.ts +5 -0
  79. package/dist/elements/basic/Link/isCurrentPage.mjs +12 -0
  80. package/dist/elements/basic/Markdown/declaration.d.ts +1 -1
  81. package/dist/elements/basic/Markdown/declaration.mjs +1 -1
  82. package/dist/elements/basic/Markdown/index.d.ts +1 -1
  83. package/dist/elements/basic/Paragraph/declaration.d.ts +1 -1
  84. package/dist/elements/basic/Paragraph/declaration.mjs +1 -1
  85. package/dist/elements/basic/Paragraph/index.d.ts +1 -1
  86. package/dist/elements/basic/RichText/declaration.d.ts +1 -1
  87. package/dist/elements/basic/RichText/declaration.mjs +1 -1
  88. package/dist/elements/basic/RichText/index.d.ts +1 -1
  89. package/dist/elements/basic/Text/declaration.d.ts +1 -1
  90. package/dist/elements/basic/Text/declaration.mjs +1 -1
  91. package/dist/elements/basic/Text/index.d.ts +1 -1
  92. package/dist/elements/basic/ThemeToggle/declaration.d.ts +1 -1
  93. package/dist/elements/basic/ThemeToggle/declaration.mjs +1 -1
  94. package/dist/elements/basic/ThemeToggle/index.d.ts +1 -1
  95. package/dist/elements/declarations/index.d.ts +364 -44
  96. package/dist/elements/declarations/index.mjs +40 -32
  97. package/dist/elements/form/Form/declaration.d.ts +1 -1
  98. package/dist/elements/form/Form/declaration.mjs +1 -1
  99. package/dist/elements/form/Form/index.d.ts +1 -1
  100. package/dist/elements/form/FormControl/FormControl.mjs +1 -1
  101. package/dist/elements/form/FormControl/declaration.d.ts +1 -1
  102. package/dist/elements/form/FormControl/declaration.mjs +1 -1
  103. package/dist/elements/form/FormControl/index.d.ts +1 -1
  104. package/dist/elements/index.d.ts +7 -1
  105. package/dist/elements/index.mjs +30 -24
  106. package/dist/elements/internal/LayoutContainer/declaration.d.ts +1 -1
  107. package/dist/elements/internal/LayoutContainer/declaration.mjs +1 -1
  108. package/dist/elements/internal/LayoutContainer/index.d.ts +1 -1
  109. package/dist/elements/internal/Loading/declaration.d.ts +1 -1
  110. package/dist/elements/internal/Loading/declaration.mjs +1 -1
  111. package/dist/elements/internal/Loading/index.d.ts +1 -1
  112. package/dist/elements/internal/NotFound/declaration.d.ts +1 -1
  113. package/dist/elements/internal/NotFound/declaration.mjs +1 -1
  114. package/dist/elements/internal/NotFound/index.d.ts +1 -1
  115. package/dist/elements/internal/Page/Page.mjs +29 -29
  116. package/dist/elements/internal/Page/declaration.d.ts +1 -1
  117. package/dist/elements/internal/Page/declaration.mjs +1 -1
  118. package/dist/elements/internal/Page/index.d.ts +1 -1
  119. package/dist/elements/media/Embed/Embed.d.ts +22 -0
  120. package/dist/elements/media/Embed/Embed.mjs +29 -0
  121. package/dist/elements/media/Embed/Settings.d.ts +10 -0
  122. package/dist/elements/media/Embed/Settings.mjs +51 -0
  123. package/dist/elements/media/Embed/declaration.d.ts +70 -0
  124. package/dist/elements/media/Embed/declaration.mjs +54 -0
  125. package/dist/elements/media/Embed/embeddableSrc.d.ts +5 -0
  126. package/dist/elements/media/Embed/embeddableSrc.mjs +4 -0
  127. package/dist/elements/media/Embed/index.d.ts +69 -0
  128. package/dist/elements/media/Embed/index.mjs +6 -0
  129. package/dist/elements/media/FontAwesome/Settings.mjs +32 -100
  130. package/dist/elements/media/FontAwesome/declaration.d.ts +1 -1
  131. package/dist/elements/media/FontAwesome/declaration.mjs +1 -1
  132. package/dist/elements/media/FontAwesome/index.d.ts +1 -1
  133. package/dist/elements/media/Image/Image.d.ts +11 -1
  134. package/dist/elements/media/Image/Image.mjs +33 -23
  135. package/dist/elements/media/Image/Settings.d.ts +4 -1
  136. package/dist/elements/media/Image/Settings.mjs +32 -9
  137. package/dist/elements/media/Image/declaration.d.ts +4 -1
  138. package/dist/elements/media/Image/declaration.mjs +1 -1
  139. package/dist/elements/media/Image/index.d.ts +4 -1
  140. package/dist/elements/media/Svg/Settings.d.ts +7 -0
  141. package/dist/elements/media/Svg/Settings.mjs +24 -0
  142. package/dist/elements/media/Svg/Svg.d.ts +16 -0
  143. package/dist/elements/media/Svg/Svg.mjs +31 -0
  144. package/dist/elements/media/Svg/declaration.d.ts +61 -0
  145. package/dist/elements/media/Svg/declaration.mjs +49 -0
  146. package/dist/elements/media/Svg/index.d.ts +60 -0
  147. package/dist/elements/media/Svg/index.mjs +6 -0
  148. package/dist/elements/media/Svg/sanitizeSvg.d.ts +13 -0
  149. package/dist/elements/media/Svg/sanitizeSvg.mjs +5 -0
  150. package/dist/elements/media/Video/declaration.d.ts +1 -1
  151. package/dist/elements/media/Video/declaration.mjs +1 -1
  152. package/dist/elements/media/Video/index.d.ts +1 -1
  153. package/dist/elements/provider/ApiContainer/ApiContainer.d.ts +6 -1
  154. package/dist/elements/provider/ApiContainer/ApiContainer.mjs +118 -112
  155. package/dist/elements/provider/ApiContainer/Settings.d.ts +2 -1
  156. package/dist/elements/provider/ApiContainer/Settings.mjs +45 -37
  157. package/dist/elements/provider/ApiContainer/declaration.d.ts +1 -1
  158. package/dist/elements/provider/ApiContainer/declaration.mjs +1 -1
  159. package/dist/elements/provider/ApiContainer/helpers/loadingSlot.d.ts +6 -0
  160. package/dist/elements/provider/ApiContainer/helpers/loadingSlot.mjs +8 -0
  161. package/dist/elements/provider/ApiContainer/hooks/useApi.mjs +12 -12
  162. package/dist/elements/provider/ApiContainer/index.d.ts +1 -1
  163. package/dist/elements/provider/Channel/declaration.d.ts +1 -1
  164. package/dist/elements/provider/Channel/declaration.mjs +1 -1
  165. package/dist/elements/provider/Channel/index.d.ts +1 -1
  166. package/dist/elements/settings.mjs +40 -32
  167. package/dist/elements/structure/Carousel/Carousel.d.ts +32 -0
  168. package/dist/elements/structure/Carousel/Carousel.mjs +183 -0
  169. package/dist/elements/structure/Carousel/CarouselContext.d.ts +29 -0
  170. package/dist/elements/structure/Carousel/CarouselContext.mjs +6 -0
  171. package/dist/elements/structure/Carousel/CarouselTrack/CarouselTrack.d.ts +15 -0
  172. package/dist/elements/structure/Carousel/CarouselTrack/CarouselTrack.mjs +51 -0
  173. package/dist/elements/structure/Carousel/CarouselTrack/Settings.d.ts +2 -0
  174. package/dist/elements/structure/Carousel/CarouselTrack/Settings.mjs +8 -0
  175. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/CarouselSlide.d.ts +15 -0
  176. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/CarouselSlide.mjs +28 -0
  177. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/index.d.ts +2 -0
  178. package/dist/elements/structure/Carousel/CarouselTrack/components/CarouselSlide/index.mjs +2 -0
  179. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/MarqueeTrack.d.ts +18 -0
  180. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/MarqueeTrack.mjs +41 -0
  181. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/index.d.ts +2 -0
  182. package/dist/elements/structure/Carousel/CarouselTrack/components/MarqueeTrack/index.mjs +2 -0
  183. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/ScrollTrack.d.ts +12 -0
  184. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/ScrollTrack.mjs +27 -0
  185. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/index.d.ts +2 -0
  186. package/dist/elements/structure/Carousel/CarouselTrack/components/ScrollTrack/index.mjs +2 -0
  187. package/dist/elements/structure/Carousel/CarouselTrack/declaration.d.ts +53 -0
  188. package/dist/elements/structure/Carousel/CarouselTrack/declaration.mjs +44 -0
  189. package/dist/elements/structure/Carousel/CarouselTrack/index.d.ts +52 -0
  190. package/dist/elements/structure/Carousel/CarouselTrack/index.mjs +6 -0
  191. package/dist/elements/structure/Carousel/Settings.d.ts +14 -0
  192. package/dist/elements/structure/Carousel/Settings.mjs +97 -0
  193. package/dist/elements/structure/Carousel/carouselIndex.d.ts +13 -0
  194. package/dist/elements/structure/Carousel/carouselIndex.mjs +16 -0
  195. package/dist/elements/structure/Carousel/declaration.d.ts +131 -0
  196. package/dist/elements/structure/Carousel/declaration.mjs +106 -0
  197. package/dist/elements/structure/Carousel/index.d.ts +184 -0
  198. package/dist/elements/structure/Carousel/index.mjs +10 -0
  199. package/dist/elements/structure/Carousel/useAutoplay.d.ts +18 -0
  200. package/dist/elements/structure/Carousel/useAutoplay.mjs +34 -0
  201. package/dist/elements/structure/Container/Container.d.ts +1 -1
  202. package/dist/elements/structure/Container/Settings.d.ts +1 -1
  203. package/dist/elements/structure/Container/Settings.mjs +4 -0
  204. package/dist/elements/structure/Container/declaration.d.ts +2 -2
  205. package/dist/elements/structure/Container/declaration.mjs +3 -2
  206. package/dist/elements/structure/Container/index.d.ts +2 -2
  207. package/dist/elements/structure/DialogContainer/declaration.d.ts +1 -1
  208. package/dist/elements/structure/DialogContainer/declaration.mjs +1 -1
  209. package/dist/elements/structure/DialogContainer/index.d.ts +1 -1
  210. package/dist/elements/structure/List/List.d.ts +6 -1
  211. package/dist/elements/structure/List/List.mjs +2 -1
  212. package/dist/elements/structure/List/ListItem/declaration.d.ts +1 -1
  213. package/dist/elements/structure/List/ListItem/declaration.mjs +1 -1
  214. package/dist/elements/structure/List/ListItem/index.d.ts +1 -1
  215. package/dist/elements/structure/List/Settings.d.ts +2 -1
  216. package/dist/elements/structure/List/Settings.mjs +41 -29
  217. package/dist/elements/structure/List/declaration.d.ts +2 -1
  218. package/dist/elements/structure/List/declaration.mjs +1 -1
  219. package/dist/elements/structure/List/index.d.ts +3 -2
  220. package/dist/elements/structure/List/modes/ListControlled/ListControlled.d.ts +2 -1
  221. package/dist/elements/structure/List/modes/ListControlled/ListControlled.mjs +36 -35
  222. package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.mjs +1 -1
  223. package/dist/elements/structure/List/modes/ListControlled/rowKeys.d.ts +10 -0
  224. package/dist/elements/structure/List/modes/ListControlled/rowKeys.mjs +11 -0
  225. package/dist/elements/structure/ModalContainer/declaration.d.ts +1 -1
  226. package/dist/elements/structure/ModalContainer/declaration.mjs +1 -1
  227. package/dist/elements/structure/ModalContainer/index.d.ts +1 -1
  228. package/dist/elements/structure/ModalContainer/metadataFromText.d.ts +6 -0
  229. package/dist/elements/structure/ModalContainer/metadataFromText.mjs +2 -1
  230. package/dist/elements/structure/Pagination/declaration.d.ts +1 -1
  231. package/dist/elements/structure/Pagination/declaration.mjs +1 -1
  232. package/dist/elements/structure/Pagination/index.d.ts +1 -1
  233. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.d.ts +1 -1
  234. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.mjs +1 -1
  235. package/dist/elements/structure/TabContainer/TabContainerBody/index.d.ts +1 -1
  236. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.d.ts +1 -1
  237. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.mjs +1 -1
  238. package/dist/elements/structure/TabContainer/TabContainerHeader/index.d.ts +1 -1
  239. package/dist/elements/structure/TabContainer/TabContainerItem/declaration.d.ts +1 -1
  240. package/dist/elements/structure/TabContainer/TabContainerItem/declaration.mjs +1 -1
  241. package/dist/elements/structure/TabContainer/TabContainerItem/index.d.ts +1 -1
  242. package/dist/elements/structure/TabContainer/declaration.d.ts +1 -1
  243. package/dist/elements/structure/TabContainer/declaration.mjs +1 -1
  244. package/dist/elements/structure/TabContainer/index.d.ts +4 -4
  245. package/dist/index.d.ts +375 -43
  246. package/dist/index.mjs +34 -27
  247. package/package.json +202 -10
@@ -1,82 +1,88 @@
1
- import { useCallback as e } from "react";
2
- import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
- import r from "@plitzi/plitzi-ui/Checkbox";
4
- import i from "@plitzi/plitzi-ui/Input";
5
- import a from "@plitzi/plitzi-ui/Select";
1
+ import e from "../../../components/IconField/IconField.mjs";
2
+ import { useCallback as t } from "react";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ import i from "@plitzi/plitzi-ui/Checkbox";
5
+ import a from "@plitzi/plitzi-ui/Input";
6
+ import o from "@plitzi/plitzi-ui/Select";
6
7
  //#region src/elements/basic/Button/Settings.tsx
7
- var o = ({ content: o = "Button", contentPlacement: s = "after", subType: c = "button", disabled: l = !1, title: u = "", label: d = "", onUpdate: f }) => {
8
- let p = e((e) => f?.("content", e), [f]), m = e((e) => f?.("contentPlacement", e), [f]), h = e((e) => f?.("subType", e), [f]), g = e((e) => f?.("title", e), [f]), _ = e((e) => f?.("label", e), [f]), v = e((e) => f?.("disabled", e.target.checked), [f]);
9
- return /* @__PURE__ */ n("div", {
8
+ var s = ({ content: s = "Button", contentPlacement: c = "after", icon: l = "", iconPlacement: u = "before", subType: d = "button", disabled: f = !1, title: p = "", label: m = "", onUpdate: h }) => {
9
+ let g = t((e) => h?.("content", e), [h]), _ = t((e) => h?.("contentPlacement", e), [h]), v = t((e) => h?.("subType", e), [h]), y = t((e) => h?.("title", e), [h]), b = t((e) => h?.("label", e), [h]), x = t((e) => h?.("disabled", e.target.checked), [h]);
10
+ return /* @__PURE__ */ r("div", {
10
11
  className: "flex h-full flex-col gap-4 py-2",
11
12
  children: [
12
- /* @__PURE__ */ t(i, {
13
- value: o,
13
+ /* @__PURE__ */ n(a, {
14
+ value: s,
14
15
  label: "Content",
15
- onChange: p,
16
+ onChange: g,
16
17
  size: "xs"
17
18
  }),
18
- /* @__PURE__ */ t(i, {
19
- value: u,
19
+ /* @__PURE__ */ n(a, {
20
+ value: p,
20
21
  label: "Tooltip",
21
22
  placeholder: "What the button does, for an icon-only one",
22
- onChange: g,
23
+ onChange: y,
23
24
  size: "xs"
24
25
  }),
25
- /* @__PURE__ */ t(i, {
26
- value: d,
26
+ /* @__PURE__ */ n(a, {
27
+ value: m,
27
28
  label: "Accessible Name",
28
29
  placeholder: "When its words do not say what it does",
29
- onChange: _,
30
+ onChange: b,
30
31
  size: "xs"
31
32
  }),
32
- /* @__PURE__ */ n(a, {
33
- value: s,
33
+ /* @__PURE__ */ r(o, {
34
+ value: c,
34
35
  label: "Mode",
35
- onChange: m,
36
+ onChange: _,
36
37
  size: "xs",
37
38
  children: [
38
- /* @__PURE__ */ t("option", {
39
+ /* @__PURE__ */ n("option", {
39
40
  value: "before",
40
41
  children: "Before Elements"
41
42
  }),
42
- /* @__PURE__ */ t("option", {
43
+ /* @__PURE__ */ n("option", {
43
44
  value: "after",
44
45
  children: "After Elements"
45
46
  }),
46
- /* @__PURE__ */ t("option", {
47
+ /* @__PURE__ */ n("option", {
47
48
  value: "elements",
48
49
  children: "Only Elements"
49
50
  })
50
51
  ]
51
52
  }),
52
- /* @__PURE__ */ n(a, {
53
- value: c,
53
+ /* @__PURE__ */ r(o, {
54
+ value: d,
54
55
  label: "Button Type",
55
- onChange: h,
56
+ onChange: v,
56
57
  size: "xs",
57
58
  children: [
58
- /* @__PURE__ */ t("option", {
59
+ /* @__PURE__ */ n("option", {
59
60
  value: "button",
60
61
  children: "Button"
61
62
  }),
62
- /* @__PURE__ */ t("option", {
63
+ /* @__PURE__ */ n("option", {
63
64
  value: "submit",
64
65
  children: "Submit"
65
66
  }),
66
- /* @__PURE__ */ t("option", {
67
+ /* @__PURE__ */ n("option", {
67
68
  value: "reset",
68
69
  children: "Reset"
69
70
  })
70
71
  ]
71
72
  }),
72
- /* @__PURE__ */ t(r, {
73
- checked: l,
73
+ /* @__PURE__ */ n(i, {
74
+ checked: f,
74
75
  label: "Is Disabled",
75
- onChange: v,
76
+ onChange: x,
76
77
  size: "xs"
78
+ }),
79
+ /* @__PURE__ */ n(e, {
80
+ icon: l,
81
+ iconPlacement: u,
82
+ onUpdate: h
77
83
  })
78
84
  ]
79
85
  });
80
86
  };
81
87
  //#endregion
82
- export { o as default };
88
+ export { s as default };
@@ -7,11 +7,14 @@ declare const declaration: {
7
7
  readonly attributeValues: {
8
8
  readonly subType: readonly string[];
9
9
  readonly contentPlacement: readonly string[];
10
+ readonly iconPlacement: readonly string[];
10
11
  };
11
12
  readonly content: {
12
13
  readonly attributes: {
13
14
  readonly contentPlacement: "after";
14
15
  readonly content: "Button";
16
+ readonly icon: "";
17
+ readonly iconPlacement: "before";
15
18
  readonly subType: "button";
16
19
  readonly disabled: false;
17
20
  };
@@ -23,6 +26,7 @@ declare const declaration: {
23
26
  readonly bindings: {};
24
27
  readonly styleSelectors: {
25
28
  readonly base: "";
29
+ readonly icon: "";
26
30
  };
27
31
  readonly initialState: {
28
32
  readonly visibility: true;
@@ -33,7 +37,7 @@ declare const declaration: {
33
37
  readonly canSelect: true;
34
38
  readonly canDragDrop: true;
35
39
  readonly canMove: true;
36
- readonly canTemplate: true;
40
+ readonly canSnippet: true;
37
41
  readonly itemsAllowed: readonly [];
38
42
  readonly itemsNotAllowed: readonly [];
39
43
  };
@@ -127,7 +131,9 @@ declare const declaration: {
127
131
  title?: string | undefined;
128
132
  content?: string | undefined;
129
133
  disabled?: boolean | undefined;
134
+ icon?: string | undefined;
130
135
  subType?: "button" | "submit" | "reset" | undefined;
136
+ iconPlacement?: import('../../../Element/ElementWords').IconPlacement | undefined;
131
137
  contentPlacement?: "before" | "after" | undefined;
132
138
  ariaExpanded?: boolean | undefined;
133
139
  ariaPressed?: boolean | undefined;
@@ -8,22 +8,28 @@ var n = e()({
8
8
  "submit",
9
9
  "reset"
10
10
  ]),
11
- contentPlacement: t()(["before", "after"])
11
+ contentPlacement: t()(["before", "after"]),
12
+ iconPlacement: t()(["before", "after"])
12
13
  },
13
14
  content: {
14
15
  attributes: {
15
16
  contentPlacement: "after",
16
17
  content: "Button",
18
+ icon: "",
19
+ iconPlacement: "before",
17
20
  subType: "button",
18
21
  disabled: !1
19
22
  },
20
23
  definition: {
21
24
  label: "Button",
22
25
  type: "button",
23
- description: "A clickable button. On its own it only renders; wire an interaction flow (trigger onClick → callbacks) to make it DO something.",
26
+ description: "A clickable button. On its own it only renders; wire an interaction flow (trigger onClick → callbacks) to make it DO something. Its words are its `content` and an icon beside them its `icon` (Font Awesome classes) — no text or fontAwesome element inside it for them.",
24
27
  items: [],
25
28
  bindings: {},
26
- styleSelectors: { base: "" },
29
+ styleSelectors: {
30
+ base: "",
31
+ icon: ""
32
+ },
27
33
  initialState: { visibility: !0 }
28
34
  },
29
35
  builder: {
@@ -31,7 +37,7 @@ var n = e()({
31
37
  canSelect: !0,
32
38
  canDragDrop: !0,
33
39
  canMove: !0,
34
- canTemplate: !0,
40
+ canSnippet: !0,
35
41
  itemsAllowed: [],
36
42
  itemsNotAllowed: []
37
43
  },
@@ -6,11 +6,14 @@ declare const Button: {
6
6
  readonly attributeValues: {
7
7
  readonly subType: readonly string[];
8
8
  readonly contentPlacement: readonly string[];
9
+ readonly iconPlacement: readonly string[];
9
10
  };
10
11
  readonly content: {
11
12
  readonly attributes: {
12
13
  readonly contentPlacement: "after";
13
14
  readonly content: "Button";
15
+ readonly icon: "";
16
+ readonly iconPlacement: "before";
14
17
  readonly subType: "button";
15
18
  readonly disabled: false;
16
19
  };
@@ -22,6 +25,7 @@ declare const Button: {
22
25
  readonly bindings: {};
23
26
  readonly styleSelectors: {
24
27
  readonly base: "";
28
+ readonly icon: "";
25
29
  };
26
30
  readonly initialState: {
27
31
  readonly visibility: true;
@@ -32,7 +36,7 @@ declare const Button: {
32
36
  readonly canSelect: true;
33
37
  readonly canDragDrop: true;
34
38
  readonly canMove: true;
35
- readonly canTemplate: true;
39
+ readonly canSnippet: true;
36
40
  readonly itemsAllowed: readonly [];
37
41
  readonly itemsNotAllowed: readonly [];
38
42
  };
@@ -126,7 +130,9 @@ declare const Button: {
126
130
  title?: string | undefined;
127
131
  content?: string | undefined;
128
132
  disabled?: boolean | undefined;
133
+ icon?: string | undefined;
129
134
  subType?: "button" | "submit" | "reset" | undefined;
135
+ iconPlacement?: import('../../../Element/ElementWords').IconPlacement | undefined;
130
136
  contentPlacement?: "before" | "after" | undefined;
131
137
  ariaExpanded?: boolean | undefined;
132
138
  ariaPressed?: boolean | undefined;
@@ -23,7 +23,7 @@ declare const declaration: {
23
23
  readonly canSelect: true;
24
24
  readonly canDragDrop: false;
25
25
  readonly canMove: false;
26
- readonly canTemplate: false;
26
+ readonly canSnippet: false;
27
27
  readonly itemsAllowed: readonly [];
28
28
  readonly itemsNotAllowed: readonly [];
29
29
  };
@@ -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: [],
24
24
  itemsNotAllowed: []
25
25
  },
@@ -22,7 +22,7 @@ declare const DropdownPopup: {
22
22
  readonly canSelect: true;
23
23
  readonly canDragDrop: false;
24
24
  readonly canMove: false;
25
- readonly canTemplate: false;
25
+ readonly canSnippet: false;
26
26
  readonly itemsAllowed: readonly [];
27
27
  readonly itemsNotAllowed: readonly [];
28
28
  };
@@ -37,7 +37,7 @@ declare const declaration: {
37
37
  readonly canSelect: true;
38
38
  readonly canDragDrop: true;
39
39
  readonly canMove: true;
40
- readonly canTemplate: true;
40
+ readonly canSnippet: true;
41
41
  readonly itemsAllowed: readonly [];
42
42
  readonly itemsNotAllowed: readonly [];
43
43
  };
@@ -36,7 +36,7 @@ var n = e()({
36
36
  canSelect: !0,
37
37
  canDragDrop: !0,
38
38
  canMove: !0,
39
- canTemplate: !0,
39
+ canSnippet: !0,
40
40
  itemsAllowed: [],
41
41
  itemsNotAllowed: []
42
42
  },
@@ -27,7 +27,7 @@ declare const Dropdown: {
27
27
  readonly canSelect: true;
28
28
  readonly canDragDrop: false;
29
29
  readonly canMove: false;
30
- readonly canTemplate: false;
30
+ readonly canSnippet: false;
31
31
  readonly itemsAllowed: readonly [];
32
32
  readonly itemsNotAllowed: readonly [];
33
33
  };
@@ -104,7 +104,7 @@ declare const Dropdown: {
104
104
  readonly canSelect: true;
105
105
  readonly canDragDrop: true;
106
106
  readonly canMove: true;
107
- readonly canTemplate: true;
107
+ readonly canSnippet: true;
108
108
  readonly itemsAllowed: readonly [];
109
109
  readonly itemsNotAllowed: readonly [];
110
110
  };
@@ -29,7 +29,7 @@ declare const declaration: {
29
29
  readonly canSelect: true;
30
30
  readonly canDragDrop: true;
31
31
  readonly canMove: true;
32
- readonly canTemplate: true;
32
+ readonly canSnippet: true;
33
33
  readonly itemsAllowed: readonly [];
34
34
  readonly itemsNotAllowed: readonly [];
35
35
  };
@@ -28,7 +28,7 @@ var n = e()({
28
28
  canSelect: !0,
29
29
  canDragDrop: !0,
30
30
  canMove: !0,
31
- canTemplate: !0,
31
+ canSnippet: !0,
32
32
  itemsAllowed: [],
33
33
  itemsNotAllowed: []
34
34
  },
@@ -28,7 +28,7 @@ declare const Heading: {
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 [];
34
34
  };
@@ -1,3 +1,4 @@
1
+ import { IconPlacement } from '../../../Element/ElementWords';
1
2
  import { ReactNode, RefObject } from 'react';
2
3
  export type LinkProps = {
3
4
  ref?: RefObject<HTMLElement>;
@@ -6,6 +7,11 @@ export type LinkProps = {
6
7
  href?: string;
7
8
  target?: 'self' | 'blank' | 'parent' | 'top';
8
9
  mode?: 'page' | 'internal' | 'external';
10
+ /**
11
+ * A section of the page it goes to: the `anchor` of an element there, without the `#`. `/pricing` and `hash: 'plans'`
12
+ * land on `/pricing#plans`, scrolled to that element. Read in `page` and `internal` modes.
13
+ */
14
+ hash?: string;
9
15
  /**
10
16
  * What a screen reader announces instead of the link's contents.
11
17
  *
@@ -13,8 +19,21 @@ export type LinkProps = {
13
19
  * it — the topic, the headline, the standfirst, the byline and the button — read out as one link.
14
20
  */
15
21
  label?: string;
22
+ /**
23
+ * The link's own words — `Pricing` — drawn without a text element inside it, so a link that says something is one
24
+ * element rather than two. Beside its children when it has any, where `contentPlacement` says.
25
+ */
26
+ content?: string;
27
+ contentPlacement?: 'before' | 'after';
28
+ /**
29
+ * An icon beside the words, as Font Awesome classes — `'fa-solid fa-arrow-right'` — instead of a `fontAwesome`
30
+ * element inside. Decoration: the words (or `title`/`label`) name it. Its `icon` slot styles it.
31
+ */
32
+ icon?: string;
33
+ /** Which side of the words the icon sits on. */
34
+ iconPlacement?: IconPlacement;
16
35
  };
17
- declare const Link: ({ ref, children, className, href, target, mode, label }: LinkProps) => import('react').JSX.Element;
36
+ declare const Link: ({ ref, children, className, href, target, mode, hash, label, content, contentPlacement, icon, iconPlacement }: LinkProps) => import('react').JSX.Element;
18
37
  declare const _default: {
19
38
  (props: import('../../../Element/hocs/withElement').WithElementProps<LinkProps>): import('react').JSX.Element;
20
39
  displayName: string;
@@ -1,77 +1,97 @@
1
1
  import e from "../../../Element/hocs/withElement.mjs";
2
2
  import t from "../../../Element/hooks/useElement.mjs";
3
3
  import { RootElement as n } from "../../../Element/RootElement.mjs";
4
- import { useMemo as r } from "react";
5
- import i from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
6
- import { useSdkStore as a } from "@plitzi/sdk-shared/store";
7
- import { processTwig as o } from "@plitzi/sdk-shared/helpers/twigWrapper";
8
- import { jsx as s } from "react/jsx-runtime";
9
- import c from "clsx";
10
- import { getPageFullPath as l } from "@plitzi/sdk-navigation/NavigationHelper";
4
+ import r from "../../../Element/ElementWords.mjs";
5
+ import { isCurrentPage as i } from "./isCurrentPage.mjs";
6
+ import { useMemo as a } from "react";
7
+ import o from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
8
+ import { useSdkStore as s } from "@plitzi/sdk-shared/store";
9
+ import { processTwig as c } from "@plitzi/sdk-shared/helpers/twigWrapper";
10
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
11
+ import d from "clsx";
12
+ import { getPageFullPath as f } from "@plitzi/sdk-navigation/NavigationHelper";
11
13
  //#region src/elements/basic/Link/Link.tsx
12
- var u = ({ ref: e, children: u, className: d = "", href: f = "#", target: p = "self", mode: m = "page", label: h = "" }) => {
13
- let { style: g } = t(), { settings: { previewMode: _ } } = i(), [[v, y, b, x, S]] = a([
14
+ var p = ({ ref: e, children: p, className: m = "", href: h = "#", target: g = "self", mode: _ = "page", hash: v = "", label: y = "", content: b = "", contentPlacement: x = "after", icon: S = "", iconPlacement: C = "before" }) => {
15
+ let { style: w, definition: { styleSelectors: T } } = t(), { settings: { previewMode: E } } = o(), [[D, O, k, A, j, M]] = s([
14
16
  "pageDefinitions",
15
17
  "schema.pageFolders",
16
18
  "navigation.routeParams",
17
19
  "navigation.queryParams",
18
- "navigation.navigate"
19
- ]), C = r(() => {
20
- if (m === "external") return f;
21
- if (m === "internal") {
22
- let e = `/${f}`.replaceAll(/[/]+/gim, "/");
20
+ "navigation.navigate",
21
+ "navigation.href"
22
+ ]), N = a(() => {
23
+ if (_ === "external") return h;
24
+ if (_ === "internal") {
25
+ let e = `/${h}`.replaceAll(/[/]+/gim, "/");
23
26
  try {
24
- let t = o(e, {
25
- ...x,
26
- ...b
27
+ let t = c(e, {
28
+ ...A,
29
+ ...k
27
30
  }, !0);
28
31
  return typeof t == "string" ? t : e;
29
32
  } catch {}
30
33
  return e;
31
34
  }
32
- return l(v, y, f, !0);
35
+ return f(D, O, h, !0);
33
36
  }, [
34
- m,
35
- f,
36
- v,
37
- y,
38
- x,
39
- b
40
- ]), w = (e) => {
41
- if (!_) return;
37
+ _,
38
+ h,
39
+ D,
40
+ O,
41
+ A,
42
+ k
43
+ ]), P = _ !== "external" && v ? `${N}#${v}` : N, F = _ !== "external" && i(N, M), I = (e) => {
44
+ if (!E) return;
42
45
  e.stopPropagation();
43
- let t = p !== "self" || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || e.button !== 0;
44
- (m === "page" || m === "internal") && !t && (e.preventDefault(), S(C));
45
- }, T = r(() => {
46
+ let t = g !== "self" || e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || e.button !== 0;
47
+ (_ === "page" || _ === "internal") && !t && (e.preventDefault(), j(P));
48
+ }, L = a(() => {
46
49
  let t = {
47
50
  ref: e,
48
- style: g,
49
- target: `_${p}`,
50
- "aria-label": h || void 0,
51
- className: c("plitzi-component__link", d)
51
+ style: w,
52
+ target: `_${g}`,
53
+ ...g === "blank" ? { rel: "noopener noreferrer" } : {},
54
+ "aria-label": y || void 0,
55
+ "aria-current": F ? "page" : void 0,
56
+ className: d("plitzi-component__link", m)
52
57
  };
53
- return _ ? {
58
+ return E ? {
54
59
  ...t,
55
- href: C
60
+ href: P
56
61
  } : {
57
62
  ...t,
58
- "href-disabled": C
63
+ "href-disabled": P
59
64
  };
60
65
  }, [
61
66
  e,
67
+ w,
62
68
  g,
63
- p,
64
- h,
65
- d,
66
- _,
67
- C
69
+ y,
70
+ F,
71
+ m,
72
+ E,
73
+ P
68
74
  ]);
69
- return /* @__PURE__ */ s(n, {
75
+ return /* @__PURE__ */ u(n, {
70
76
  tag: "a",
71
- ...T,
72
- onClick: w,
73
- children: u
77
+ ...L,
78
+ onClick: I,
79
+ children: [
80
+ x === "before" && /* @__PURE__ */ l(r, {
81
+ content: b,
82
+ icon: S,
83
+ iconPlacement: C,
84
+ iconClassName: T.icon
85
+ }),
86
+ p,
87
+ x === "after" && /* @__PURE__ */ l(r, {
88
+ content: b,
89
+ icon: S,
90
+ iconPlacement: C,
91
+ iconClassName: T.icon
92
+ })
93
+ ]
74
94
  });
75
- }, d = e(u);
95
+ }, m = e(p);
76
96
  //#endregion
77
- export { u as Link, d as default };
97
+ export { p as Link, m as default };
@@ -1,9 +1,14 @@
1
1
  type SettingsProps = {
2
2
  mode?: 'page' | 'internal' | 'external';
3
3
  href?: string;
4
+ hash?: string;
4
5
  target?: 'blank' | 'self' | 'parent' | 'top';
5
6
  label?: string;
7
+ content?: string;
8
+ contentPlacement?: 'before' | 'after';
9
+ icon?: string;
10
+ iconPlacement?: 'before' | 'after';
6
11
  onUpdate?: (key: string, value: string | boolean | number) => void;
7
12
  };
8
- declare const Settings: ({ mode, href, target, label, onUpdate }: SettingsProps) => import('react').JSX.Element;
13
+ declare const Settings: ({ mode, href, hash, target, label, content, contentPlacement, icon, iconPlacement, onUpdate }: SettingsProps) => import('react').JSX.Element;
9
14
  export default Settings;