@plitzi/sdk-elements 0.37.9 → 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 (233) hide show
  1. package/CHANGELOG.md +594 -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 +197 -9
@@ -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;
@@ -1,136 +1,169 @@
1
- import { use as e, useCallback as t, useEffect as n, useMemo as r } from "react";
2
- import i from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
3
- import { useCommonStore as a } from "@plitzi/sdk-shared/store";
4
- import { get as o, pick as s } from "@plitzi/plitzi-ui/helpers";
5
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
6
- import { getPageFullPath as u } from "@plitzi/sdk-navigation/NavigationHelper";
7
- import d from "@plitzi/plitzi-ui/Input";
8
- import f from "@plitzi/plitzi-ui/Select";
1
+ import e from "../../../components/IconField/IconField.mjs";
2
+ import { use as t, useCallback as n, useEffect as r, useMemo as i } from "react";
3
+ import a from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
4
+ import { useCommonStore as o } from "@plitzi/sdk-shared/store";
5
+ import { get as s, pick as c } from "@plitzi/plitzi-ui/helpers";
6
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
7
+ import { getPageFullPath as d } from "@plitzi/sdk-navigation/NavigationHelper";
8
+ import f from "@plitzi/plitzi-ui/Input";
9
+ import p from "@plitzi/plitzi-ui/Select";
9
10
  //#region src/elements/basic/Link/Settings.tsx
10
- var p = ({ mode: p = "page", href: m = "#", target: h = "self", label: g = "", onUpdate: _ }) => {
11
- let { contexts: { NetworkContext: v } } = i(), [[y, b, x]] = a([
11
+ var m = ({ mode: m = "page", href: h = "#", hash: g = "", target: _ = "self", label: v = "", content: y = "", contentPlacement: b = "after", icon: x = "", iconPlacement: S = "before", onUpdate: C }) => {
12
+ let { contexts: { NetworkContext: w } } = a(), [[T, E, D]] = o([
12
13
  "schema.flat",
13
14
  "schema.pages",
14
15
  "schema.pageFolders"
15
- ]), { server: S } = e(v), C = r(() => o(S, "domain", "https://subdomain.plitzi.app"), [S]), w = r(() => {
16
- let e = s(y, b);
16
+ ]), { server: O } = t(w), k = i(() => s(O, "domain", "https://subdomain.plitzi.app"), [O]), A = i(() => {
17
+ let e = c(T, E);
17
18
  return Object.keys(e).reduce((t, n) => {
18
- let r = e[n], i = o(r, "attributes.name", n), a = o(r, "attributes.default", !1);
19
+ let r = e[n], i = s(r, "attributes.name", n), a = s(r, "attributes.default", !1);
19
20
  return [...t, {
20
21
  key: n,
21
22
  label: i,
22
23
  defaultPage: a
23
24
  }];
24
25
  }, []);
25
- }, [y, b]), T = t((e) => (t) => _?.(e, t), [_]), E = t((e) => _?.("href", e), [_]), D = t((e) => {
26
- if (_?.("mode", e), e !== "page") {
27
- _?.("href", "#");
26
+ }, [T, E]), j = n((e) => (t) => C?.(e, t), [C]), M = n((e) => C?.("href", e), [C]), N = n((e) => {
27
+ if (C?.("mode", e), e !== "page") {
28
+ C?.("href", "#");
28
29
  return;
29
30
  }
30
- let t = w.find((e) => e.defaultPage);
31
- t && _?.("href", t.key);
32
- }, [_, w]);
33
- n(() => {
34
- if (p === "page" && m === "#") {
35
- let e = w.find((e) => e.defaultPage);
36
- e && _?.("href", e.key);
31
+ let t = A.find((e) => e.defaultPage);
32
+ t && C?.("href", t.key);
33
+ }, [C, A]);
34
+ r(() => {
35
+ if (m === "page" && h === "#") {
36
+ let e = A.find((e) => e.defaultPage);
37
+ e && C?.("href", e.key);
37
38
  }
38
39
  }, [
39
- p,
40
40
  m,
41
- w,
42
- _
41
+ h,
42
+ A,
43
+ C
43
44
  ]);
44
- let O = r(() => p === "page" ? `${C}${u(y, x, m, !0)}` : m.replaceAll(/[/]+/gim, "/"), [
45
- p,
46
- y,
47
- x,
45
+ let P = i(() => m === "page" ? `${k}${d(T, D, h, !0)}` : h.replaceAll(/[/]+/gim, "/"), [
48
46
  m,
49
- C
47
+ T,
48
+ D,
49
+ h,
50
+ k
50
51
  ]);
51
- return /* @__PURE__ */ l("div", {
52
+ return /* @__PURE__ */ u("div", {
52
53
  className: "flex h-full flex-col gap-4 py-2",
53
54
  children: [
54
55
  /* @__PURE__ */ l(f, {
55
- value: h,
56
+ value: y,
57
+ label: "Content",
58
+ placeholder: "The link's words, without a text inside it",
59
+ onChange: j("content"),
60
+ size: "sm"
61
+ }),
62
+ /* @__PURE__ */ u(p, {
63
+ value: b,
64
+ label: "Content Placement",
65
+ onChange: j("contentPlacement"),
66
+ size: "sm",
67
+ children: [/* @__PURE__ */ l("option", {
68
+ value: "before",
69
+ children: "Before Elements"
70
+ }), /* @__PURE__ */ l("option", {
71
+ value: "after",
72
+ children: "After Elements"
73
+ })]
74
+ }),
75
+ /* @__PURE__ */ u(p, {
76
+ value: _,
56
77
  label: "Target",
57
- onChange: T("target"),
78
+ onChange: j("target"),
58
79
  size: "sm",
59
80
  children: [
60
- /* @__PURE__ */ c("option", {
81
+ /* @__PURE__ */ l("option", {
61
82
  value: "blank",
62
83
  children: "Blank"
63
84
  }),
64
- /* @__PURE__ */ c("option", {
85
+ /* @__PURE__ */ l("option", {
65
86
  value: "self",
66
87
  children: "Self"
67
88
  }),
68
- /* @__PURE__ */ c("option", {
89
+ /* @__PURE__ */ l("option", {
69
90
  value: "parent",
70
91
  children: "Parent"
71
92
  }),
72
- /* @__PURE__ */ c("option", {
93
+ /* @__PURE__ */ l("option", {
73
94
  value: "top",
74
95
  children: "Top"
75
96
  })
76
97
  ]
77
98
  }),
78
- /* @__PURE__ */ l(f, {
79
- value: p,
99
+ /* @__PURE__ */ u(p, {
100
+ value: m,
80
101
  label: "Mode",
81
- onChange: D,
102
+ onChange: N,
82
103
  size: "sm",
83
104
  children: [
84
- /* @__PURE__ */ c("option", {
105
+ /* @__PURE__ */ l("option", {
85
106
  value: "page",
86
107
  children: "Space Page"
87
108
  }),
88
- /* @__PURE__ */ c("option", {
109
+ /* @__PURE__ */ l("option", {
89
110
  value: "internal",
90
111
  children: "Inside Space"
91
112
  }),
92
- /* @__PURE__ */ c("option", {
113
+ /* @__PURE__ */ l("option", {
93
114
  value: "external",
94
115
  children: "Outside Space"
95
116
  })
96
117
  ]
97
118
  }),
98
- p !== "page" && /* @__PURE__ */ c(d, {
99
- value: m,
119
+ m !== "page" && /* @__PURE__ */ l(f, {
120
+ value: h,
100
121
  label: "Url",
101
- onChange: E,
122
+ onChange: M,
102
123
  size: "sm"
103
124
  }),
104
- p === "page" && /* @__PURE__ */ l("div", {
125
+ m === "page" && /* @__PURE__ */ u("div", {
105
126
  className: "flex flex-col",
106
- children: [/* @__PURE__ */ l(f, {
107
- value: m,
127
+ children: [/* @__PURE__ */ u(p, {
128
+ value: h,
108
129
  label: "Url",
109
- onChange: E,
130
+ onChange: M,
110
131
  className: { inputContainer: "rounded-t" },
111
132
  size: "sm",
112
- children: [/* @__PURE__ */ c("option", {
133
+ children: [/* @__PURE__ */ l("option", {
113
134
  value: "",
114
135
  disabled: !0,
115
136
  children: "Select a page"
116
- }), w.map((e) => /* @__PURE__ */ c("option", {
137
+ }), A.map((e) => /* @__PURE__ */ l("option", {
117
138
  value: e.key,
118
139
  children: e.label
119
140
  }, e.key))]
120
- }), /* @__PURE__ */ c("div", {
141
+ }), /* @__PURE__ */ l("div", {
121
142
  className: "truncate rounded-b border-r border-b border-l border-gray-200 p-1 text-xs",
122
- children: O
143
+ children: P
123
144
  })]
124
145
  }),
125
- /* @__PURE__ */ c(d, {
146
+ m !== "external" && /* @__PURE__ */ l(f, {
126
147
  value: g,
148
+ label: "Section",
149
+ placeholder: "An element's anchor, without the #",
150
+ onChange: j("hash"),
151
+ size: "sm"
152
+ }),
153
+ /* @__PURE__ */ l(f, {
154
+ value: v,
127
155
  label: "Accessible Name",
128
156
  placeholder: "For a link that wraps a whole card",
129
- onChange: T("label"),
157
+ onChange: j("label"),
130
158
  size: "sm"
159
+ }),
160
+ /* @__PURE__ */ l(e, {
161
+ icon: x,
162
+ iconPlacement: S,
163
+ onUpdate: C
131
164
  })
132
165
  ]
133
166
  });
134
167
  };
135
168
  //#endregion
136
- export { p as default };
169
+ export { m as default };
@@ -7,13 +7,20 @@ declare const declaration: {
7
7
  readonly attributeValues: {
8
8
  readonly mode: readonly string[];
9
9
  readonly target: readonly string[];
10
+ readonly contentPlacement: readonly string[];
11
+ readonly iconPlacement: readonly string[];
10
12
  };
11
13
  readonly content: {
12
14
  readonly attributes: {
13
15
  readonly href: "#";
14
16
  readonly target: "self";
15
17
  readonly mode: "page";
18
+ readonly hash: "";
16
19
  readonly label: "";
20
+ readonly content: "";
21
+ readonly contentPlacement: "after";
22
+ readonly icon: "";
23
+ readonly iconPlacement: "before";
17
24
  };
18
25
  readonly definition: {
19
26
  readonly label: "Link";
@@ -23,6 +30,7 @@ declare const declaration: {
23
30
  readonly bindings: {};
24
31
  readonly styleSelectors: {
25
32
  readonly base: "";
33
+ readonly icon: "";
26
34
  };
27
35
  readonly initialState: {
28
36
  readonly visibility: true;
@@ -33,7 +41,7 @@ declare const declaration: {
33
41
  readonly canSelect: true;
34
42
  readonly canDragDrop: true;
35
43
  readonly canMove: true;
36
- readonly canTemplate: true;
44
+ readonly canSnippet: true;
37
45
  readonly itemsAllowed: readonly [];
38
46
  readonly itemsNotAllowed: readonly ["link"];
39
47
  };
@@ -66,5 +74,10 @@ declare const declaration: {
66
74
  href?: string | undefined;
67
75
  label?: string | undefined;
68
76
  target?: "self" | "blank" | "parent" | "top" | undefined;
77
+ content?: string | undefined;
78
+ icon?: string | undefined;
79
+ iconPlacement?: import('../../../Element/ElementWords').IconPlacement | undefined;
80
+ contentPlacement?: "before" | "after" | undefined;
81
+ hash?: string | undefined;
69
82
  }>>;
70
83
  export default declaration;
@@ -13,22 +13,32 @@ var n = e()({
13
13
  "blank",
14
14
  "parent",
15
15
  "top"
16
- ])
16
+ ]),
17
+ contentPlacement: t()(["before", "after"]),
18
+ iconPlacement: t()(["before", "after"])
17
19
  },
18
20
  content: {
19
21
  attributes: {
20
22
  href: "#",
21
23
  target: "self",
22
24
  mode: "page",
23
- label: ""
25
+ hash: "",
26
+ label: "",
27
+ content: "",
28
+ contentPlacement: "after",
29
+ icon: "",
30
+ iconPlacement: "before"
24
31
  },
25
32
  definition: {
26
33
  label: "Link",
27
34
  type: "link",
28
- description: "Navigation. Moves the user between pages of the site or to an external URL (its `mode`/`href` decide which). Use this to go page-to-page rather than a button + interaction.",
35
+ description: "Navigation. Moves the user between pages of the site or to an external URL (its `mode`/`href` decide which). Use this to go page-to-page rather than a button + interaction. Its words are its own `content` and an icon beside them its `icon` (Font Awesome classes) — no text or fontAwesome element inside it for them.",
29
36
  items: [],
30
37
  bindings: {},
31
- styleSelectors: { base: "" },
38
+ styleSelectors: {
39
+ base: "",
40
+ icon: ""
41
+ },
32
42
  initialState: { visibility: !0 }
33
43
  },
34
44
  builder: {
@@ -36,7 +46,7 @@ var n = e()({
36
46
  canSelect: !0,
37
47
  canDragDrop: !0,
38
48
  canMove: !0,
39
- canTemplate: !0,
49
+ canSnippet: !0,
40
50
  itemsAllowed: [],
41
51
  itemsNotAllowed: ["link"]
42
52
  },
@@ -6,13 +6,20 @@ declare const Link: {
6
6
  readonly attributeValues: {
7
7
  readonly mode: readonly string[];
8
8
  readonly target: readonly string[];
9
+ readonly contentPlacement: readonly string[];
10
+ readonly iconPlacement: readonly string[];
9
11
  };
10
12
  readonly content: {
11
13
  readonly attributes: {
12
14
  readonly href: "#";
13
15
  readonly target: "self";
14
16
  readonly mode: "page";
17
+ readonly hash: "";
15
18
  readonly label: "";
19
+ readonly content: "";
20
+ readonly contentPlacement: "after";
21
+ readonly icon: "";
22
+ readonly iconPlacement: "before";
16
23
  };
17
24
  readonly definition: {
18
25
  readonly label: "Link";
@@ -22,6 +29,7 @@ declare const Link: {
22
29
  readonly bindings: {};
23
30
  readonly styleSelectors: {
24
31
  readonly base: "";
32
+ readonly icon: "";
25
33
  };
26
34
  readonly initialState: {
27
35
  readonly visibility: true;
@@ -32,7 +40,7 @@ declare const Link: {
32
40
  readonly canSelect: true;
33
41
  readonly canDragDrop: true;
34
42
  readonly canMove: true;
35
- readonly canTemplate: true;
43
+ readonly canSnippet: true;
36
44
  readonly itemsAllowed: readonly [];
37
45
  readonly itemsNotAllowed: readonly ["link"];
38
46
  };
@@ -65,5 +73,10 @@ declare const Link: {
65
73
  href?: string | undefined;
66
74
  label?: string | undefined;
67
75
  target?: "self" | "blank" | "parent" | "top" | undefined;
76
+ content?: string | undefined;
77
+ icon?: string | undefined;
78
+ iconPlacement?: import('../../../Element/ElementWords').IconPlacement | undefined;
79
+ contentPlacement?: "before" | "after" | undefined;
80
+ hash?: string | undefined;
68
81
  }>>;
69
82
  export default Link;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Whether a link's path is the page being shown, given the page's whole address (`navigation.href`). Paths alone: the
3
+ * query and the section (`#plans`) are the same page. Undefined while no address is known — nothing is current then.
4
+ */
5
+ export declare const isCurrentPage: (path: string, location: string | undefined) => boolean;
@@ -0,0 +1,12 @@
1
+ //#region src/elements/basic/Link/isCurrentPage.ts
2
+ var e = (e) => e.length > 1 ? e.replace(/\/+$/, "") : e, t = (t, n) => {
3
+ if (!n || !t.startsWith("/")) return !1;
4
+ try {
5
+ let r = new URL(n).pathname, i = new URL(t, n).pathname;
6
+ return e(decodeURI(r)) === e(decodeURI(i));
7
+ } catch {
8
+ return !1;
9
+ }
10
+ };
11
+ //#endregion
12
+ export { t as isCurrentPage };
@@ -25,7 +25,7 @@ declare const declaration: {
25
25
  readonly canSelect: true;
26
26
  readonly canDragDrop: true;
27
27
  readonly canMove: true;
28
- readonly canTemplate: true;
28
+ readonly canSnippet: true;
29
29
  readonly itemsAllowed: readonly [];
30
30
  readonly itemsNotAllowed: readonly [];
31
31
  };
@@ -17,7 +17,7 @@ var t = e()({
17
17
  canSelect: !0,
18
18
  canDragDrop: !0,
19
19
  canMove: !0,
20
- canTemplate: !0,
20
+ canSnippet: !0,
21
21
  itemsAllowed: [],
22
22
  itemsNotAllowed: []
23
23
  },
@@ -24,7 +24,7 @@ declare const Markdown: {
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 [];
30
30
  };
@@ -25,7 +25,7 @@ declare const declaration: {
25
25
  readonly canSelect: true;
26
26
  readonly canDragDrop: true;
27
27
  readonly canMove: true;
28
- readonly canTemplate: true;
28
+ readonly canSnippet: true;
29
29
  readonly itemsAllowed: readonly [];
30
30
  readonly itemsNotAllowed: readonly [];
31
31
  };
@@ -17,7 +17,7 @@ var t = e()({
17
17
  canSelect: !0,
18
18
  canDragDrop: !0,
19
19
  canMove: !0,
20
- canTemplate: !0,
20
+ canSnippet: !0,
21
21
  itemsAllowed: [],
22
22
  itemsNotAllowed: []
23
23
  },
@@ -24,7 +24,7 @@ declare const Paragraph: {
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 [];
30
30
  };
@@ -31,7 +31,7 @@ declare const declaration: {
31
31
  readonly canSelect: true;
32
32
  readonly canDragDrop: true;
33
33
  readonly canMove: true;
34
- readonly canTemplate: true;
34
+ readonly canSnippet: true;
35
35
  readonly itemsAllowed: readonly [];
36
36
  readonly itemsNotAllowed: readonly [];
37
37
  };
@@ -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
  },
@@ -30,7 +30,7 @@ declare const RichText: {
30
30
  readonly canSelect: true;
31
31
  readonly canDragDrop: true;
32
32
  readonly canMove: true;
33
- readonly canTemplate: true;
33
+ readonly canSnippet: true;
34
34
  readonly itemsAllowed: readonly [];
35
35
  readonly itemsNotAllowed: readonly [];
36
36
  };
@@ -25,7 +25,7 @@ declare const declaration: {
25
25
  readonly canSelect: true;
26
26
  readonly canDragDrop: true;
27
27
  readonly canMove: true;
28
- readonly canTemplate: true;
28
+ readonly canSnippet: true;
29
29
  readonly itemsAllowed: readonly [];
30
30
  readonly itemsNotAllowed: readonly [];
31
31
  };
@@ -17,7 +17,7 @@ var t = e()({
17
17
  canSelect: !0,
18
18
  canDragDrop: !0,
19
19
  canMove: !0,
20
- canTemplate: !0,
20
+ canSnippet: !0,
21
21
  itemsAllowed: [],
22
22
  itemsNotAllowed: []
23
23
  },
@@ -24,7 +24,7 @@ declare const Text: {
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 [];
30
30
  };
@@ -46,7 +46,7 @@ declare const declaration: {
46
46
  readonly canSelect: true;
47
47
  readonly canDragDrop: true;
48
48
  readonly canMove: true;
49
- readonly canTemplate: true;
49
+ readonly canSnippet: true;
50
50
  readonly itemsAllowed: readonly [];
51
51
  readonly itemsNotAllowed: readonly [];
52
52
  };
@@ -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
  },
@@ -45,7 +45,7 @@ declare const ThemeToggle: {
45
45
  readonly canSelect: true;
46
46
  readonly canDragDrop: true;
47
47
  readonly canMove: true;
48
- readonly canTemplate: true;
48
+ readonly canSnippet: true;
49
49
  readonly itemsAllowed: readonly [];
50
50
  readonly itemsNotAllowed: readonly [];
51
51
  };