@01.software/sdk 0.2.9-dev.260310.cf511cb → 0.2.9-dev.260311.892250f

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 (58) hide show
  1. package/README.md +21 -8
  2. package/dist/auth.cjs +3 -1
  3. package/dist/auth.cjs.map +1 -1
  4. package/dist/auth.d.cts +36 -3
  5. package/dist/auth.d.ts +36 -3
  6. package/dist/auth.js +3 -1
  7. package/dist/auth.js.map +1 -1
  8. package/dist/index.cjs +214 -231
  9. package/dist/index.cjs.map +1 -1
  10. package/dist/index.d.cts +321 -155
  11. package/dist/index.d.ts +321 -155
  12. package/dist/index.js +217 -231
  13. package/dist/index.js.map +1 -1
  14. package/dist/{payload-types-Cq93wqIe.d.cts → payload-types-BjvBwB8Z.d.cts} +1601 -1373
  15. package/dist/{payload-types-Cq93wqIe.d.ts → payload-types-BjvBwB8Z.d.ts} +1601 -1373
  16. package/dist/ui/code-block.cjs +182 -0
  17. package/dist/ui/code-block.cjs.map +1 -0
  18. package/dist/ui/code-block.d.cts +62 -0
  19. package/dist/ui/code-block.d.ts +62 -0
  20. package/dist/ui/code-block.js +152 -0
  21. package/dist/ui/code-block.js.map +1 -0
  22. package/dist/{flow.cjs → ui/flow.cjs} +120 -96
  23. package/dist/ui/flow.cjs.map +1 -0
  24. package/dist/{flow.d.cts → ui/flow.d.cts} +27 -11
  25. package/dist/{flow.d.ts → ui/flow.d.ts} +27 -11
  26. package/dist/{flow.js → ui/flow.js} +119 -94
  27. package/dist/ui/flow.js.map +1 -0
  28. package/dist/{components.cjs → ui/form.cjs} +27 -520
  29. package/dist/ui/form.cjs.map +1 -0
  30. package/dist/ui/form.d.cts +37 -0
  31. package/dist/ui/form.d.ts +37 -0
  32. package/dist/{components.js → ui/form.js} +20 -516
  33. package/dist/ui/form.js.map +1 -0
  34. package/dist/ui/image.cjs +208 -0
  35. package/dist/ui/image.cjs.map +1 -0
  36. package/dist/ui/image.d.cts +44 -0
  37. package/dist/ui/image.d.ts +44 -0
  38. package/dist/ui/image.js +180 -0
  39. package/dist/ui/image.js.map +1 -0
  40. package/dist/ui/rich-text.cjs +258 -0
  41. package/dist/ui/rich-text.cjs.map +1 -0
  42. package/dist/ui/rich-text.d.cts +110 -0
  43. package/dist/ui/rich-text.d.ts +110 -0
  44. package/dist/ui/rich-text.js +235 -0
  45. package/dist/ui/rich-text.js.map +1 -0
  46. package/dist/{webhook-NRdVwXN7.d.cts → webhook-CszIpUKn.d.cts} +2 -2
  47. package/dist/{webhook-C_7s0K66.d.ts → webhook-_LdLdjGa.d.ts} +2 -2
  48. package/dist/webhook.d.cts +2 -2
  49. package/dist/webhook.d.ts +2 -2
  50. package/package.json +47 -12
  51. package/dist/auth-CVVo5UT5.d.ts +0 -298
  52. package/dist/auth-CqgrT1qd.d.cts +0 -298
  53. package/dist/components.cjs.map +0 -1
  54. package/dist/components.d.cts +0 -240
  55. package/dist/components.d.ts +0 -240
  56. package/dist/components.js.map +0 -1
  57. package/dist/flow.cjs.map +0 -1
  58. package/dist/flow.js.map +0 -1
@@ -0,0 +1,235 @@
1
+ "use client";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+
34
+ // src/ui/RichText/index.tsx
35
+ import React2 from "react";
36
+ import {
37
+ defaultJSXConverters,
38
+ LinkJSXConverter,
39
+ RichText,
40
+ TextJSXConverter
41
+ } from "@payloadcms/richtext-lexical/react";
42
+
43
+ // src/ui/RichText/styled.tsx
44
+ import React from "react";
45
+ function createComponentConverters(components, internalDocToHref) {
46
+ const converters = {};
47
+ if (components.Heading) {
48
+ const Heading = components.Heading;
49
+ converters.heading = ({ node, nodesToJSX }) => /* @__PURE__ */ React.createElement(Heading, { tag: node.tag, node }, nodesToJSX({ nodes: node.children }));
50
+ }
51
+ if (components.Paragraph) {
52
+ const Paragraph = components.Paragraph;
53
+ converters.paragraph = ({ node, nodesToJSX }) => {
54
+ const children = nodesToJSX({ nodes: node.children });
55
+ return /* @__PURE__ */ React.createElement(Paragraph, { isEmpty: !(children == null ? void 0 : children.length), node }, (children == null ? void 0 : children.length) ? children : /* @__PURE__ */ React.createElement("br", null));
56
+ };
57
+ }
58
+ if (components.Blockquote) {
59
+ const Blockquote = components.Blockquote;
60
+ converters.quote = ({ node, nodesToJSX }) => /* @__PURE__ */ React.createElement(Blockquote, { node }, nodesToJSX({ nodes: node.children }));
61
+ }
62
+ if (components.List) {
63
+ const List = components.List;
64
+ converters.list = ({ node, nodesToJSX }) => /* @__PURE__ */ React.createElement(List, { tag: node.tag, listType: node.listType, node }, nodesToJSX({ nodes: node.children }));
65
+ }
66
+ if (components.ListItem) {
67
+ const ListItem = components.ListItem;
68
+ converters.listitem = ({ node, nodesToJSX }) => {
69
+ const hasSubLists = node.children.some(
70
+ (child) => child.type === "list"
71
+ );
72
+ return /* @__PURE__ */ React.createElement(
73
+ ListItem,
74
+ {
75
+ hasSubLists,
76
+ checked: node.checked,
77
+ value: node.value,
78
+ node
79
+ },
80
+ nodesToJSX({ nodes: node.children })
81
+ );
82
+ };
83
+ }
84
+ if (components.Link) {
85
+ const Link = components.Link;
86
+ const resolveHref = (node) => {
87
+ var _a;
88
+ if (node.fields.linkType === "internal") {
89
+ return internalDocToHref ? internalDocToHref({ linkNode: node }) : "#";
90
+ }
91
+ return (_a = node.fields.url) != null ? _a : "";
92
+ };
93
+ converters.link = ({ node, nodesToJSX }) => /* @__PURE__ */ React.createElement(
94
+ Link,
95
+ {
96
+ href: resolveHref(node),
97
+ rel: node.fields.newTab ? "noopener noreferrer" : void 0,
98
+ target: node.fields.newTab ? "_blank" : void 0,
99
+ node
100
+ },
101
+ nodesToJSX({ nodes: node.children })
102
+ );
103
+ converters.autolink = ({ node, nodesToJSX }) => {
104
+ var _a;
105
+ return /* @__PURE__ */ React.createElement(
106
+ Link,
107
+ {
108
+ href: (_a = node.fields.url) != null ? _a : "",
109
+ rel: node.fields.newTab ? "noopener noreferrer" : void 0,
110
+ target: node.fields.newTab ? "_blank" : void 0,
111
+ node
112
+ },
113
+ nodesToJSX({ nodes: node.children })
114
+ );
115
+ };
116
+ }
117
+ if (components.HorizontalRule) {
118
+ const HorizontalRule = components.HorizontalRule;
119
+ converters.horizontalrule = /* @__PURE__ */ React.createElement(HorizontalRule, null);
120
+ }
121
+ if (components.Upload) {
122
+ const Upload = components.Upload;
123
+ converters.upload = ({ node }) => {
124
+ var _a;
125
+ const uploadNode = node;
126
+ if (typeof uploadNode.value !== "object") return null;
127
+ const doc = uploadNode.value;
128
+ return /* @__PURE__ */ React.createElement(
129
+ Upload,
130
+ {
131
+ src: doc.url,
132
+ alt: ((_a = uploadNode.fields) == null ? void 0 : _a.alt) || (doc == null ? void 0 : doc.alt) || "",
133
+ width: doc.width,
134
+ height: doc.height,
135
+ mimeType: doc.mimeType,
136
+ filename: doc.filename,
137
+ sizes: doc.sizes,
138
+ node
139
+ }
140
+ );
141
+ };
142
+ }
143
+ if (components.Table) {
144
+ const Table = components.Table;
145
+ converters.table = ({ node, nodesToJSX }) => /* @__PURE__ */ React.createElement(Table, { node }, nodesToJSX({ nodes: node.children }));
146
+ }
147
+ if (components.TableRow) {
148
+ const TableRow = components.TableRow;
149
+ converters.tablerow = ({ node, nodesToJSX }) => /* @__PURE__ */ React.createElement(TableRow, { node }, nodesToJSX({ nodes: node.children }));
150
+ }
151
+ if (components.TableCell) {
152
+ const TableCell = components.TableCell;
153
+ converters.tablecell = ({ node, nodesToJSX }) => /* @__PURE__ */ React.createElement(
154
+ TableCell,
155
+ {
156
+ tag: node.headerState > 0 ? "th" : "td",
157
+ colSpan: node.colSpan > 1 ? node.colSpan : void 0,
158
+ rowSpan: node.rowSpan > 1 ? node.rowSpan : void 0,
159
+ backgroundColor: node.backgroundColor || void 0,
160
+ node
161
+ },
162
+ nodesToJSX({ nodes: node.children })
163
+ );
164
+ }
165
+ return converters;
166
+ }
167
+ function StyledRichTextContent(_a) {
168
+ var _b = _a, {
169
+ components = {},
170
+ internalDocToHref,
171
+ blocks,
172
+ textState
173
+ } = _b, props = __objRest(_b, [
174
+ "components",
175
+ "internalDocToHref",
176
+ "blocks",
177
+ "textState"
178
+ ]);
179
+ const converters = createComponentConverters(components, internalDocToHref);
180
+ return /* @__PURE__ */ React.createElement(
181
+ RichTextContent,
182
+ __spreadProps(__spreadValues({}, props), {
183
+ internalDocToHref,
184
+ converters,
185
+ blocks,
186
+ textState
187
+ })
188
+ );
189
+ }
190
+
191
+ // src/ui/RichText/index.tsx
192
+ function hyphenToCamel(str) {
193
+ return str.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
194
+ }
195
+ function createTextStateConverter(state) {
196
+ const defaultTextConverter = TextJSXConverter.text;
197
+ return (_a) => {
198
+ var _b = _a, { node } = _b, rest = __objRest(_b, ["node"]);
199
+ var _a2, _b2;
200
+ const base = defaultTextConverter(__spreadValues({ node }, rest));
201
+ const nodeState = node.$;
202
+ if (!nodeState || typeof nodeState !== "object") return base;
203
+ const style = {};
204
+ for (const stateKey in nodeState) {
205
+ const stateValue = nodeState[stateKey];
206
+ if (!stateValue) continue;
207
+ const css = (_b2 = (_a2 = state[stateKey]) == null ? void 0 : _a2[stateValue]) == null ? void 0 : _b2.css;
208
+ if (css) {
209
+ for (const prop in css) {
210
+ const val = css[prop];
211
+ if (val) style[hyphenToCamel(prop)] = val;
212
+ }
213
+ }
214
+ }
215
+ if (Object.keys(style).length === 0) return base;
216
+ return /* @__PURE__ */ React2.createElement("span", { style }, base);
217
+ };
218
+ }
219
+ function RichTextContent({
220
+ data,
221
+ className,
222
+ internalDocToHref,
223
+ converters,
224
+ blocks,
225
+ disableDefaultConverters,
226
+ textState
227
+ }) {
228
+ const baseConverters = __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, disableDefaultConverters ? {} : defaultJSXConverters), LinkJSXConverter({ internalDocToHref })), textState ? { text: createTextStateConverter(textState) } : {}), converters), blocks ? { blocks } : {});
229
+ return /* @__PURE__ */ React2.createElement(RichText, { data, className, converters: baseConverters });
230
+ }
231
+ export {
232
+ RichTextContent,
233
+ StyledRichTextContent
234
+ };
235
+ //# sourceMappingURL=rich-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ui/RichText/index.tsx","../../src/ui/RichText/styled.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\nimport {\n SerializedBlockNode,\n SerializedLinkNode,\n} from '@payloadcms/richtext-lexical'\nimport {\n SerializedEditorState,\n SerializedLexicalNode,\n} from '@payloadcms/richtext-lexical/lexical'\nimport {\n defaultJSXConverters,\n JSXConverter,\n JSXConverters,\n LinkJSXConverter,\n RichText,\n TextJSXConverter,\n} from '@payloadcms/richtext-lexical/react'\n\nexport type RichTextData = SerializedEditorState<SerializedLexicalNode>\n\nexport type TextStateConfig = {\n [stateKey: string]: {\n [stateValue: string]: {\n css: Record<string, string>\n label: string\n }\n }\n}\n\nexport interface RichTextContentProps {\n data: RichTextData\n className?: string\n internalDocToHref?: (args: { linkNode: SerializedLinkNode }) => string\n converters?: Partial<JSXConverters>\n blocks?: Record<string, JSXConverter<SerializedBlockNode>>\n disableDefaultConverters?: boolean\n textState?: TextStateConfig\n}\n\nexport { StyledRichTextContent } from './styled'\nexport type {\n RichTextComponents,\n StyledRichTextContentProps,\n HeadingSlotProps,\n ParagraphSlotProps,\n BlockquoteSlotProps,\n ListSlotProps,\n ListItemSlotProps,\n LinkSlotProps,\n HorizontalRuleSlotProps,\n UploadSlotProps,\n TableSlotProps,\n TableRowSlotProps,\n TableCellSlotProps,\n} from './styled'\n\nfunction hyphenToCamel(str: string): string {\n return str.replace(/-([a-z])/g, (_, c) => c.toUpperCase())\n}\n\nfunction createTextStateConverter(\n state: TextStateConfig,\n): JSXConverters['text'] {\n const defaultTextConverter = TextJSXConverter.text\n // eslint-disable-next-line react/display-name\n return ({ node, ...rest }) => {\n const base = (\n defaultTextConverter as (...args: unknown[]) => React.ReactNode\n )({ node, ...rest })\n const nodeState = (node as Record<string, unknown>).$ as\n | Record<string, string>\n | undefined\n if (!nodeState || typeof nodeState !== 'object') return base\n\n const style: Record<string, string> = {}\n for (const stateKey in nodeState) {\n const stateValue = nodeState[stateKey]\n if (!stateValue) continue\n const css = state[stateKey]?.[stateValue]?.css\n if (css) {\n for (const prop in css) {\n const val = css[prop]\n if (val) style[hyphenToCamel(prop)] = val\n }\n }\n }\n\n if (Object.keys(style).length === 0) return base\n return <span style={style}>{base}</span>\n }\n}\n\nexport function RichTextContent({\n data,\n className,\n internalDocToHref,\n converters,\n blocks,\n disableDefaultConverters,\n textState,\n}: RichTextContentProps) {\n const baseConverters: JSXConverters = {\n ...(disableDefaultConverters ? {} : defaultJSXConverters),\n ...LinkJSXConverter({ internalDocToHref }),\n ...(textState ? { text: createTextStateConverter(textState) } : {}),\n ...converters,\n ...(blocks ? { blocks } : {}),\n }\n\n return (\n <RichText data={data} className={className} converters={baseConverters} />\n )\n}\n","'use client'\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react'\nimport { SerializedLinkNode } from '@payloadcms/richtext-lexical'\nimport { JSXConverters } from '@payloadcms/richtext-lexical/react'\nimport { RichTextContent, RichTextContentProps } from './index'\n\n// --- Slot prop types (each slot gets structured data + raw node) ---\n\nexport interface HeadingSlotProps {\n tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'\n children: React.ReactNode\n node: any\n}\n\nexport interface ParagraphSlotProps {\n children: React.ReactNode\n isEmpty: boolean\n node: any\n}\n\nexport interface BlockquoteSlotProps {\n children: React.ReactNode\n node: any\n}\n\nexport interface ListSlotProps {\n tag: 'ul' | 'ol'\n listType: string\n children: React.ReactNode\n node: any\n}\n\nexport interface ListItemSlotProps {\n children: React.ReactNode\n hasSubLists: boolean\n checked?: boolean\n value?: number\n node: any\n}\n\nexport interface LinkSlotProps {\n href: string\n target?: string\n rel?: string\n children: React.ReactNode\n node: any\n}\n\nexport interface HorizontalRuleSlotProps {\n node?: any\n}\n\nexport interface UploadSlotProps {\n src: string\n alt: string\n width?: number\n height?: number\n mimeType: string\n filename: string\n sizes?: Record<string, any>\n node: any\n}\n\nexport interface TableSlotProps {\n children: React.ReactNode\n node: any\n}\n\nexport interface TableRowSlotProps {\n children: React.ReactNode\n node: any\n}\n\nexport interface TableCellSlotProps {\n tag: 'th' | 'td'\n children: React.ReactNode\n colSpan?: number\n rowSpan?: number\n backgroundColor?: string\n node: any\n}\n\n// --- Components map ---\n\nexport interface RichTextComponents {\n Heading?: React.ComponentType<HeadingSlotProps>\n Paragraph?: React.ComponentType<ParagraphSlotProps>\n Blockquote?: React.ComponentType<BlockquoteSlotProps>\n List?: React.ComponentType<ListSlotProps>\n ListItem?: React.ComponentType<ListItemSlotProps>\n Link?: React.ComponentType<LinkSlotProps>\n HorizontalRule?: React.ComponentType<HorizontalRuleSlotProps>\n Upload?: React.ComponentType<UploadSlotProps>\n Table?: React.ComponentType<TableSlotProps>\n TableRow?: React.ComponentType<TableRowSlotProps>\n TableCell?: React.ComponentType<TableCellSlotProps>\n}\n\nexport interface StyledRichTextContentProps\n extends Omit<RichTextContentProps, 'converters' | 'disableDefaultConverters'> {\n components?: RichTextComponents\n}\n\nfunction createComponentConverters(\n components: RichTextComponents,\n internalDocToHref?: (args: { linkNode: SerializedLinkNode }) => string,\n): Partial<JSXConverters> {\n const converters: Partial<JSXConverters> = {}\n\n if (components.Heading) {\n const Heading = components.Heading\n converters.heading = ({ node, nodesToJSX }) => (\n <Heading tag={node.tag} node={node}>\n {nodesToJSX({ nodes: node.children })}\n </Heading>\n )\n }\n\n if (components.Paragraph) {\n const Paragraph = components.Paragraph\n converters.paragraph = ({ node, nodesToJSX }) => {\n const children = nodesToJSX({ nodes: node.children })\n return (\n <Paragraph isEmpty={!children?.length} node={node}>\n {children?.length ? children : <br />}\n </Paragraph>\n )\n }\n }\n\n if (components.Blockquote) {\n const Blockquote = components.Blockquote\n converters.quote = ({ node, nodesToJSX }) => (\n <Blockquote node={node}>\n {nodesToJSX({ nodes: node.children })}\n </Blockquote>\n )\n }\n\n if (components.List) {\n const List = components.List\n converters.list = ({ node, nodesToJSX }) => (\n <List tag={node.tag} listType={node.listType} node={node}>\n {nodesToJSX({ nodes: node.children })}\n </List>\n )\n }\n\n if (components.ListItem) {\n const ListItem = components.ListItem\n converters.listitem = ({ node, nodesToJSX }) => {\n const hasSubLists = node.children.some(\n (child: { type: string }) => child.type === 'list',\n )\n return (\n <ListItem\n hasSubLists={hasSubLists}\n checked={node.checked}\n value={node.value}\n node={node}\n >\n {nodesToJSX({ nodes: node.children })}\n </ListItem>\n )\n }\n }\n\n if (components.Link) {\n const Link = components.Link\n\n const resolveHref = (node: any): string => {\n if (node.fields.linkType === 'internal') {\n return internalDocToHref ? internalDocToHref({ linkNode: node }) : '#'\n }\n return node.fields.url ?? ''\n }\n\n converters.link = ({ node, nodesToJSX }) => (\n <Link\n href={resolveHref(node)}\n rel={node.fields.newTab ? 'noopener noreferrer' : undefined}\n target={node.fields.newTab ? '_blank' : undefined}\n node={node}\n >\n {nodesToJSX({ nodes: node.children })}\n </Link>\n )\n\n converters.autolink = ({ node, nodesToJSX }) => (\n <Link\n href={node.fields.url ?? ''}\n rel={node.fields.newTab ? 'noopener noreferrer' : undefined}\n target={node.fields.newTab ? '_blank' : undefined}\n node={node}\n >\n {nodesToJSX({ nodes: node.children })}\n </Link>\n )\n }\n\n if (components.HorizontalRule) {\n const HorizontalRule = components.HorizontalRule\n converters.horizontalrule = <HorizontalRule />\n }\n\n if (components.Upload) {\n const Upload = components.Upload\n converters.upload = ({ node }) => {\n const uploadNode = node as any\n if (typeof uploadNode.value !== 'object') return null\n const doc = uploadNode.value\n return (\n <Upload\n src={doc.url}\n alt={uploadNode.fields?.alt || doc?.alt || ''}\n width={doc.width}\n height={doc.height}\n mimeType={doc.mimeType}\n filename={doc.filename}\n sizes={doc.sizes}\n node={node}\n />\n )\n }\n }\n\n if (components.Table) {\n const Table = components.Table\n converters.table = ({ node, nodesToJSX }) => (\n <Table node={node}>{nodesToJSX({ nodes: node.children })}</Table>\n )\n }\n\n if (components.TableRow) {\n const TableRow = components.TableRow\n converters.tablerow = ({ node, nodesToJSX }) => (\n <TableRow node={node}>{nodesToJSX({ nodes: node.children })}</TableRow>\n )\n }\n\n if (components.TableCell) {\n const TableCell = components.TableCell\n converters.tablecell = ({ node, nodesToJSX }) => (\n <TableCell\n tag={node.headerState > 0 ? 'th' : 'td'}\n colSpan={node.colSpan > 1 ? node.colSpan : undefined}\n rowSpan={node.rowSpan > 1 ? node.rowSpan : undefined}\n backgroundColor={node.backgroundColor || undefined}\n node={node}\n >\n {nodesToJSX({ nodes: node.children })}\n </TableCell>\n )\n }\n\n return converters\n}\n\nexport function StyledRichTextContent({\n components = {},\n internalDocToHref,\n blocks,\n textState,\n ...props\n}: StyledRichTextContentProps) {\n const converters = createComponentConverters(components, internalDocToHref)\n\n return (\n <RichTextContent\n {...props}\n internalDocToHref={internalDocToHref}\n converters={converters}\n blocks={blocks}\n textState={textState}\n />\n )\n}\n"],"mappings":"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","names":["React","_a","_b","React"]}
@@ -1,4 +1,4 @@
1
- import { d as Config } from './payload-types-Cq93wqIe.cjs';
1
+ import { d as Config } from './payload-types-BjvBwB8Z.cjs';
2
2
 
3
3
  /**
4
4
  * Collection type derived from Payload Config.
@@ -9,7 +9,7 @@ type Collection = keyof Config['collections'];
9
9
  * Array of all public collection names for runtime use (e.g., Zod enum validation).
10
10
  * This is the single source of truth for which collections are publicly accessible via SDK.
11
11
  */
12
- declare const COLLECTIONS: readonly ["tenants", "tenant-metadata", "tenant-logos", "tenant-og-images", "products", "product-variants", "product-options", "product-categories", "product-tags", "product-images", "product-collections", "brands", "brand-logos", "orders", "order-products", "returns", "return-products", "exchanges", "exchange-products", "fulfillments", "fulfillment-items", "transactions", "customers", "customer-addresses", "customer-groups", "customer-group-images", "carts", "cart-items", "discounts", "shipping-policies", "documents", "document-categories", "document-types", "document-images", "posts", "post-categories", "post-tags", "post-images", "playlists", "playlist-images", "playlist-categories", "musics", "galleries", "gallery-images", "gallery-categories", "gallery-tags", "flows", "flow-images", "flow-node-types", "flow-edge-types", "flow-tags", "videos", "video-images", "video-categories", "video-tags", "live-streams", "live-stream-images", "forms", "form-submissions", "media"];
12
+ declare const COLLECTIONS: readonly ["tenants", "tenant-metadata", "tenant-logos", "tenant-og-images", "products", "product-variants", "product-options", "product-categories", "product-tags", "product-images", "product-collections", "brands", "brand-logos", "orders", "order-products", "returns", "return-products", "exchanges", "exchange-products", "fulfillments", "fulfillment-items", "transactions", "customers", "customer-addresses", "customer-groups", "customer-group-images", "carts", "cart-items", "discounts", "shipping-policies", "documents", "document-categories", "document-types", "document-images", "posts", "post-categories", "post-tags", "post-images", "playlists", "playlist-images", "playlist-categories", "playlist-tags", "musics", "galleries", "gallery-images", "gallery-categories", "gallery-tags", "flows", "flow-images", "flow-node-types", "flow-edge-types", "flow-categories", "flow-tags", "videos", "video-images", "video-categories", "video-tags", "live-streams", "live-stream-images", "forms", "form-submissions", "media"];
13
13
  /**
14
14
  * Public collections available for SDK access.
15
15
  * Derived from the COLLECTIONS array (single source of truth).
@@ -1,4 +1,4 @@
1
- import { d as Config } from './payload-types-Cq93wqIe.js';
1
+ import { d as Config } from './payload-types-BjvBwB8Z.js';
2
2
 
3
3
  /**
4
4
  * Collection type derived from Payload Config.
@@ -9,7 +9,7 @@ type Collection = keyof Config['collections'];
9
9
  * Array of all public collection names for runtime use (e.g., Zod enum validation).
10
10
  * This is the single source of truth for which collections are publicly accessible via SDK.
11
11
  */
12
- declare const COLLECTIONS: readonly ["tenants", "tenant-metadata", "tenant-logos", "tenant-og-images", "products", "product-variants", "product-options", "product-categories", "product-tags", "product-images", "product-collections", "brands", "brand-logos", "orders", "order-products", "returns", "return-products", "exchanges", "exchange-products", "fulfillments", "fulfillment-items", "transactions", "customers", "customer-addresses", "customer-groups", "customer-group-images", "carts", "cart-items", "discounts", "shipping-policies", "documents", "document-categories", "document-types", "document-images", "posts", "post-categories", "post-tags", "post-images", "playlists", "playlist-images", "playlist-categories", "musics", "galleries", "gallery-images", "gallery-categories", "gallery-tags", "flows", "flow-images", "flow-node-types", "flow-edge-types", "flow-tags", "videos", "video-images", "video-categories", "video-tags", "live-streams", "live-stream-images", "forms", "form-submissions", "media"];
12
+ declare const COLLECTIONS: readonly ["tenants", "tenant-metadata", "tenant-logos", "tenant-og-images", "products", "product-variants", "product-options", "product-categories", "product-tags", "product-images", "product-collections", "brands", "brand-logos", "orders", "order-products", "returns", "return-products", "exchanges", "exchange-products", "fulfillments", "fulfillment-items", "transactions", "customers", "customer-addresses", "customer-groups", "customer-group-images", "carts", "cart-items", "discounts", "shipping-policies", "documents", "document-categories", "document-types", "document-images", "posts", "post-categories", "post-tags", "post-images", "playlists", "playlist-images", "playlist-categories", "playlist-tags", "musics", "galleries", "gallery-images", "gallery-categories", "gallery-tags", "flows", "flow-images", "flow-node-types", "flow-edge-types", "flow-categories", "flow-tags", "videos", "video-images", "video-categories", "video-tags", "live-streams", "live-stream-images", "forms", "form-submissions", "media"];
13
13
  /**
14
14
  * Public collections available for SDK access.
15
15
  * Derived from the COLLECTIONS array (single source of truth).
@@ -1,2 +1,2 @@
1
- export { c as WebhookEvent, d as WebhookHandler, W as WebhookOperation, e as WebhookOptions, f as createTypedWebhookHandler, h as handleWebhook, i as isValidWebhookEvent } from './webhook-NRdVwXN7.cjs';
2
- import './payload-types-Cq93wqIe.cjs';
1
+ export { c as WebhookEvent, d as WebhookHandler, W as WebhookOperation, e as WebhookOptions, f as createTypedWebhookHandler, h as handleWebhook, i as isValidWebhookEvent } from './webhook-CszIpUKn.cjs';
2
+ import './payload-types-BjvBwB8Z.cjs';
package/dist/webhook.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { c as WebhookEvent, d as WebhookHandler, W as WebhookOperation, e as WebhookOptions, f as createTypedWebhookHandler, h as handleWebhook, i as isValidWebhookEvent } from './webhook-C_7s0K66.js';
2
- import './payload-types-Cq93wqIe.js';
1
+ export { c as WebhookEvent, d as WebhookHandler, W as WebhookOperation, e as WebhookOptions, f as createTypedWebhookHandler, h as handleWebhook, i as isValidWebhookEvent } from './webhook-_LdLdjGa.js';
2
+ import './payload-types-BjvBwB8Z.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@01.software/sdk",
3
- "version": "0.2.9-dev.260310.cf511cb",
3
+ "version": "0.2.9-dev.260311.892250f",
4
4
  "description": "01.software SDK",
5
5
  "author": "<office@01.works>",
6
6
  "keywords": [],
@@ -39,24 +39,54 @@
39
39
  "default": "./dist/webhook.cjs"
40
40
  }
41
41
  },
42
- "./components": {
42
+ "./ui/image": {
43
43
  "import": {
44
- "types": "./dist/components.d.ts",
45
- "default": "./dist/components.js"
44
+ "types": "./dist/ui/image.d.ts",
45
+ "default": "./dist/ui/image.js"
46
46
  },
47
47
  "require": {
48
- "types": "./dist/components.d.cts",
49
- "default": "./dist/components.cjs"
48
+ "types": "./dist/ui/image.d.cts",
49
+ "default": "./dist/ui/image.cjs"
50
50
  }
51
51
  },
52
- "./flow": {
52
+ "./ui/form": {
53
53
  "import": {
54
- "types": "./dist/flow.d.ts",
55
- "default": "./dist/flow.js"
54
+ "types": "./dist/ui/form.d.ts",
55
+ "default": "./dist/ui/form.js"
56
56
  },
57
57
  "require": {
58
- "types": "./dist/flow.d.cts",
59
- "default": "./dist/flow.cjs"
58
+ "types": "./dist/ui/form.d.cts",
59
+ "default": "./dist/ui/form.cjs"
60
+ }
61
+ },
62
+ "./ui/rich-text": {
63
+ "import": {
64
+ "types": "./dist/ui/rich-text.d.ts",
65
+ "default": "./dist/ui/rich-text.js"
66
+ },
67
+ "require": {
68
+ "types": "./dist/ui/rich-text.d.cts",
69
+ "default": "./dist/ui/rich-text.cjs"
70
+ }
71
+ },
72
+ "./ui/code-block": {
73
+ "import": {
74
+ "types": "./dist/ui/code-block.d.ts",
75
+ "default": "./dist/ui/code-block.js"
76
+ },
77
+ "require": {
78
+ "types": "./dist/ui/code-block.d.cts",
79
+ "default": "./dist/ui/code-block.cjs"
80
+ }
81
+ },
82
+ "./ui/flow": {
83
+ "import": {
84
+ "types": "./dist/ui/flow.d.ts",
85
+ "default": "./dist/ui/flow.js"
86
+ },
87
+ "require": {
88
+ "types": "./dist/ui/flow.d.cts",
89
+ "default": "./dist/ui/flow.cjs"
60
90
  }
61
91
  },
62
92
  "./package.json": "./package.json"
@@ -71,10 +101,13 @@
71
101
  "devDependencies": {
72
102
  "@arethetypeswrong/cli": "^0.17.3",
73
103
  "@tanstack/react-query": "5.90.16",
104
+ "@testing-library/jest-dom": "^6.9.1",
105
+ "@testing-library/react": "16.3.0",
74
106
  "@types/node": "^22.15.3",
75
107
  "@types/react": "19.2.3",
76
108
  "@types/react-dom": "19.2.3",
77
109
  "@xyflow/react": "^12.10.1",
110
+ "jsdom": "26.1.0",
78
111
  "next": "15.4.10",
79
112
  "publint": "^0.3.16",
80
113
  "react": "^19.2.3",
@@ -113,7 +146,9 @@
113
146
  "dev": "tsup --watch",
114
147
  "clean": "rimraf ./dist ./coverage",
115
148
  "lint": "eslint ./src",
116
- "test": "vitest",
149
+ "test": "vitest run",
150
+ "test:react": "vitest run --config vitest.config.react.ts",
151
+ "test:all": "vitest run && vitest run --config vitest.config.react.ts",
117
152
  "test:watch": "vitest --watch",
118
153
  "test:publish": "publint --strict && attw --pack --ignore-rules no-resolution",
119
154
  "check-types": "tsc --noEmit",