@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
@@ -25,7 +25,7 @@ declare const NodeHtml: {
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
  };
@@ -68,6 +68,8 @@ declare const NodeHtml: {
68
68
  slot?: string | undefined | undefined;
69
69
  title?: string | undefined | undefined;
70
70
  defaultValue?: string | number | readonly string[] | undefined;
71
+ hidden?: boolean | undefined | undefined;
72
+ onScroll?: import('react').UIEventHandler<"span"> | undefined;
71
73
  onLoad?: import('react').ReactEventHandler<"span"> | undefined;
72
74
  onClick?: import('react').MouseEventHandler<"span"> | undefined;
73
75
  onPointerDown?: import('react').PointerEventHandler<"span"> | undefined;
@@ -276,7 +278,6 @@ declare const NodeHtml: {
276
278
  onGotPointerCaptureCapture?: import('react').PointerEventHandler<"span"> | undefined;
277
279
  onLostPointerCapture?: import('react').PointerEventHandler<"span"> | undefined;
278
280
  onLostPointerCaptureCapture?: import('react').PointerEventHandler<"span"> | undefined;
279
- onScroll?: import('react').UIEventHandler<"span"> | undefined;
280
281
  onScrollCapture?: import('react').UIEventHandler<"span"> | undefined;
281
282
  onScrollEnd?: import('react').UIEventHandler<"span"> | undefined;
282
283
  onScrollEndCapture?: import('react').UIEventHandler<"span"> | undefined;
@@ -308,7 +309,6 @@ declare const NodeHtml: {
308
309
  dir?: string | undefined | undefined;
309
310
  draggable?: (boolean | "false" | "true") | undefined;
310
311
  enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
311
- hidden?: boolean | undefined | undefined;
312
312
  spellCheck?: (boolean | "false" | "true") | undefined;
313
313
  translate?: "yes" | "no" | undefined | undefined;
314
314
  radioGroup?: string | undefined | undefined;
@@ -27,7 +27,7 @@ declare const declaration: {
27
27
  readonly canSelect: true;
28
28
  readonly canDragDrop: true;
29
29
  readonly canMove: true;
30
- readonly canTemplate: true;
30
+ readonly canSnippet: true;
31
31
  readonly itemsAllowed: readonly [];
32
32
  readonly itemsNotAllowed: readonly [];
33
33
  };
@@ -21,7 +21,7 @@ var t = e()({
21
21
  canSelect: !0,
22
22
  canDragDrop: !0,
23
23
  canMove: !0,
24
- canTemplate: !0,
24
+ canSnippet: !0,
25
25
  itemsAllowed: [],
26
26
  itemsNotAllowed: []
27
27
  },
@@ -26,7 +26,7 @@ declare const Reference: {
26
26
  readonly canSelect: true;
27
27
  readonly canDragDrop: true;
28
28
  readonly canMove: true;
29
- readonly canTemplate: true;
29
+ readonly canSnippet: true;
30
30
  readonly itemsAllowed: readonly [];
31
31
  readonly itemsNotAllowed: readonly [];
32
32
  };
@@ -1,3 +1,4 @@
1
+ import { IconPlacement } from '../../../Element/ElementWords';
1
2
  import { ReactNode, RefObject } from 'react';
2
3
  export type ButtonProps = {
3
4
  ref?: RefObject<HTMLElement>;
@@ -5,6 +6,13 @@ export type ButtonProps = {
5
6
  children?: ReactNode;
6
7
  contentPlacement?: 'before' | 'after';
7
8
  content?: string;
9
+ /**
10
+ * An icon beside the words, as Font Awesome classes — `'fa-solid fa-arrow-right'` — instead of a `fontAwesome`
11
+ * element inside. Decoration: the words (or `title`/`label`) name it. Its `icon` slot styles it.
12
+ */
13
+ icon?: string;
14
+ /** Which side of the words the icon sits on. */
15
+ iconPlacement?: IconPlacement;
8
16
  subType?: 'button' | 'submit' | 'reset';
9
17
  disabled?: boolean;
10
18
  /**
@@ -32,7 +40,7 @@ export type ButtonProps = {
32
40
  */
33
41
  label?: string;
34
42
  };
35
- declare const Button: ({ ref, className, children, contentPlacement, content, subType, disabled, ariaExpanded, ariaPressed, title, label }: ButtonProps) => import('react').JSX.Element;
43
+ declare const Button: ({ ref, className, children, contentPlacement, content, icon, iconPlacement, subType, disabled, ariaExpanded, ariaPressed, title, label }: ButtonProps) => import('react').JSX.Element;
36
44
  declare const _default: {
37
45
  (props: import('../../../Element/hocs/withElement').WithElementProps<ButtonProps>): import('react').JSX.Element;
38
46
  displayName: string;
@@ -1,27 +1,39 @@
1
1
  import e from "../../../Element/hocs/withElement.mjs";
2
- import { RootElement as t } from "../../../Element/RootElement.mjs";
3
- import n from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
4
- import { jsxs as r } from "react/jsx-runtime";
5
- import i from "clsx";
2
+ import t from "../../../Element/hooks/useElement.mjs";
3
+ import { RootElement as n } from "../../../Element/RootElement.mjs";
4
+ import r from "../../../Element/ElementWords.mjs";
5
+ import i from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
6
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
+ import s from "clsx";
6
8
  //#region src/elements/basic/Button/Button.tsx
7
- var a = ({ ref: e, className: a = "", children: o, contentPlacement: s = "after", content: c = "Button", subType: l = "button", disabled: u = !1, ariaExpanded: d, ariaPressed: f, title: p, label: m }) => {
8
- let { settings: { previewMode: h } } = n();
9
- return /* @__PURE__ */ r(t, {
9
+ var c = ({ ref: e, className: c = "", children: l, contentPlacement: u = "after", content: d = "Button", icon: f = "", iconPlacement: p = "before", subType: m = "button", disabled: h = !1, ariaExpanded: g, ariaPressed: _, title: v, label: y }) => {
10
+ let { settings: { previewMode: b } } = i(), { definition: { styleSelectors: x } } = t();
11
+ return /* @__PURE__ */ o(n, {
10
12
  ref: e,
11
13
  tag: "button",
12
- type: h ? l : "button",
13
- className: i("plitzi-component__button", a, { "container--empty--skip": !h && !o && c }),
14
- disabled: u,
15
- title: p || void 0,
16
- "aria-label": m || void 0,
17
- "aria-expanded": d,
18
- "aria-pressed": f,
14
+ type: b ? m : "button",
15
+ className: s("plitzi-component__button", c, { "container--empty--skip": !b && !l && (d || f) }),
16
+ disabled: h,
17
+ title: v || void 0,
18
+ "aria-label": y || void 0,
19
+ "aria-expanded": g,
20
+ "aria-pressed": _,
19
21
  children: [
20
- s === "before" && c,
21
- o,
22
- s === "after" && c
22
+ u === "before" && /* @__PURE__ */ a(r, {
23
+ content: d,
24
+ icon: f,
25
+ iconPlacement: p,
26
+ iconClassName: x.icon
27
+ }),
28
+ l,
29
+ u === "after" && /* @__PURE__ */ a(r, {
30
+ content: d,
31
+ icon: f,
32
+ iconPlacement: p,
33
+ iconClassName: x.icon
34
+ })
23
35
  ]
24
36
  });
25
- }, o = e(a);
37
+ }, l = e(c);
26
38
  //#endregion
27
- export { a as Button, o as default };
39
+ export { c as Button, l as default };
@@ -1,11 +1,13 @@
1
1
  type SettingsProps = {
2
2
  content?: string;
3
3
  contentPlacement?: 'before' | 'after' | 'elements';
4
+ icon?: string;
5
+ iconPlacement?: 'before' | 'after';
4
6
  subType?: 'button' | 'reset' | 'submit';
5
7
  disabled?: boolean;
6
8
  title?: string;
7
9
  label?: string;
8
10
  onUpdate?: (key: string, value: string | number | boolean) => void;
9
11
  };
10
- declare const Settings: ({ content, contentPlacement, subType, disabled, title, label, onUpdate }: SettingsProps) => import('react').JSX.Element;
12
+ declare const Settings: ({ content, contentPlacement, icon, iconPlacement, subType, disabled, title, label, onUpdate }: SettingsProps) => import('react').JSX.Element;
11
13
  export default Settings;
@@ -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;