@reforma/components 0.1.6 → 0.2.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 (129) hide show
  1. package/dist/Scrollable/Scrollable.d.ts +1 -2
  2. package/dist/Scrollable/Scrollable.d.ts.map +1 -1
  3. package/dist/Scrollable/Scrollable.js +45 -38
  4. package/dist/Scrollable/Scrollable.js.map +1 -1
  5. package/dist/Scrollable/useScrollChrome.d.ts +1 -2
  6. package/dist/Scrollable/useScrollChrome.d.ts.map +1 -1
  7. package/dist/Scrollable/useScrollChrome.js +125 -110
  8. package/dist/Scrollable/useScrollChrome.js.map +1 -1
  9. package/dist/chat/ComposerBanner/ComposerBanner.d.ts +2 -1
  10. package/dist/chat/ComposerBanner/ComposerBanner.d.ts.map +1 -1
  11. package/dist/chat/ComposerBanner/ComposerBanner.js +37 -29
  12. package/dist/chat/ComposerBanner/ComposerBanner.js.map +1 -1
  13. package/dist/chat/ComposerBanner/ComposerBanner.module.css +1 -1
  14. package/dist/chat/ComposerBanner/ComposerBanner.module.css.js +5 -3
  15. package/dist/chat/ComposerBanner/ComposerBanner.module.css.js.map +1 -1
  16. package/dist/chat/Tool/agent/AgentTool.d.ts.map +1 -1
  17. package/dist/chat/Tool/agent/AgentTool.js +89 -90
  18. package/dist/chat/Tool/agent/AgentTool.js.map +1 -1
  19. package/dist/chat/Tool/edit/EditTool.js +1 -1
  20. package/dist/chat/Tool/edit/EditTool.js.map +1 -1
  21. package/dist/node_modules/zod/v4/classic/errors.js +38 -0
  22. package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
  23. package/dist/node_modules/zod/v4/classic/parse.js +21 -0
  24. package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
  25. package/dist/node_modules/zod/v4/classic/schemas.js +822 -0
  26. package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
  27. package/dist/node_modules/zod/v4/core/api.js +561 -0
  28. package/dist/node_modules/zod/v4/core/api.js.map +1 -0
  29. package/dist/node_modules/zod/v4/core/checks.js +262 -0
  30. package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
  31. package/dist/node_modules/zod/v4/core/core.js +97 -0
  32. package/dist/node_modules/zod/v4/core/core.js.map +1 -0
  33. package/dist/node_modules/zod/v4/core/doc.js +35 -0
  34. package/dist/node_modules/zod/v4/core/doc.js.map +1 -0
  35. package/dist/node_modules/zod/v4/core/errors.js +79 -0
  36. package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
  37. package/dist/node_modules/zod/v4/core/json-schema-processors.js +308 -0
  38. package/dist/node_modules/zod/v4/core/json-schema-processors.js.map +1 -0
  39. package/dist/node_modules/zod/v4/core/memoizer.js +203 -0
  40. package/dist/node_modules/zod/v4/core/memoizer.js.map +1 -0
  41. package/dist/node_modules/zod/v4/core/parse.js +113 -0
  42. package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
  43. package/dist/node_modules/zod/v4/core/regexes.js +59 -0
  44. package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
  45. package/dist/node_modules/zod/v4/core/registries.js +41 -0
  46. package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
  47. package/dist/node_modules/zod/v4/core/schemas.js +1104 -0
  48. package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
  49. package/dist/node_modules/zod/v4/core/to-json-schema.js +380 -0
  50. package/dist/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
  51. package/dist/node_modules/zod/v4/core/util.js +465 -0
  52. package/dist/node_modules/zod/v4/core/util.js.map +1 -0
  53. package/dist/node_modules/zod/v4/core/versions.js +9 -0
  54. package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
  55. package/dist/node_modules/zod/v4/locales/en.js +97 -0
  56. package/dist/node_modules/zod/v4/locales/en.js.map +1 -0
  57. package/dist/openui/actions.d.ts +16 -0
  58. package/dist/openui/actions.d.ts.map +1 -0
  59. package/dist/openui/actions.js +58 -0
  60. package/dist/openui/actions.js.map +1 -0
  61. package/dist/openui/components/controls.d.ts +34 -0
  62. package/dist/openui/components/controls.d.ts.map +1 -0
  63. package/dist/openui/components/controls.js +40 -0
  64. package/dist/openui/components/controls.js.map +1 -0
  65. package/dist/openui/components/layout.d.ts +74 -0
  66. package/dist/openui/components/layout.d.ts.map +1 -0
  67. package/dist/openui/components/layout.js +154 -0
  68. package/dist/openui/components/layout.js.map +1 -0
  69. package/dist/openui/components/list.d.ts +17 -0
  70. package/dist/openui/components/list.d.ts.map +1 -0
  71. package/dist/openui/components/list.js +96 -0
  72. package/dist/openui/components/list.js.map +1 -0
  73. package/dist/openui/components/svg.d.ts +100 -0
  74. package/dist/openui/components/svg.d.ts.map +1 -0
  75. package/dist/openui/components/svg.js +246 -0
  76. package/dist/openui/components/svg.js.map +1 -0
  77. package/dist/openui/components/table.d.ts +6 -0
  78. package/dist/openui/components/table.d.ts.map +1 -0
  79. package/dist/openui/components/table.js +54 -0
  80. package/dist/openui/components/table.js.map +1 -0
  81. package/dist/openui/components/text.d.ts +89 -0
  82. package/dist/openui/components/text.d.ts.map +1 -0
  83. package/dist/openui/components/text.js +181 -0
  84. package/dist/openui/components/text.js.map +1 -0
  85. package/dist/openui/functions/colors.d.ts +12 -0
  86. package/dist/openui/functions/colors.d.ts.map +1 -0
  87. package/dist/openui/functions/colors.js +32 -0
  88. package/dist/openui/functions/colors.js.map +1 -0
  89. package/dist/openui/functions/data.d.ts +170 -0
  90. package/dist/openui/functions/data.d.ts.map +1 -0
  91. package/dist/openui/functions/data.js +308 -0
  92. package/dist/openui/functions/data.js.map +1 -0
  93. package/dist/openui/functions/dates.d.ts +57 -0
  94. package/dist/openui/functions/dates.d.ts.map +1 -0
  95. package/dist/openui/functions/dates.js +184 -0
  96. package/dist/openui/functions/dates.js.map +1 -0
  97. package/dist/openui/functions/index.d.ts +136 -0
  98. package/dist/openui/functions/index.d.ts.map +1 -0
  99. package/dist/openui/functions/index.js +11 -0
  100. package/dist/openui/functions/index.js.map +1 -0
  101. package/dist/openui/functions/lists.d.ts +102 -0
  102. package/dist/openui/functions/lists.d.ts.map +1 -0
  103. package/dist/openui/functions/lists.js +305 -0
  104. package/dist/openui/functions/lists.js.map +1 -0
  105. package/dist/openui/functions/numbers.d.ts +72 -0
  106. package/dist/openui/functions/numbers.d.ts.map +1 -0
  107. package/dist/openui/functions/numbers.js +201 -0
  108. package/dist/openui/functions/numbers.js.map +1 -0
  109. package/dist/openui/functions/shared.d.ts +28 -0
  110. package/dist/openui/functions/shared.d.ts.map +1 -0
  111. package/dist/openui/functions/shared.js +69 -0
  112. package/dist/openui/functions/shared.js.map +1 -0
  113. package/dist/openui/functions/text.d.ts +97 -0
  114. package/dist/openui/functions/text.d.ts.map +1 -0
  115. package/dist/openui/functions/text.js +223 -0
  116. package/dist/openui/functions/text.js.map +1 -0
  117. package/dist/openui/index.d.ts +5 -0
  118. package/dist/openui/index.d.ts.map +1 -0
  119. package/dist/openui/index.js +14 -0
  120. package/dist/openui/index.js.map +1 -0
  121. package/dist/openui/library.d.ts +8 -0
  122. package/dist/openui/library.d.ts.map +1 -0
  123. package/dist/openui/library.js +37 -0
  124. package/dist/openui/library.js.map +1 -0
  125. package/dist/openui/schema.d.ts +36 -0
  126. package/dist/openui/schema.d.ts.map +1 -0
  127. package/dist/openui/schema.js +24 -0
  128. package/dist/openui/schema.js.map +1 -0
  129. package/package.json +4 -2
@@ -0,0 +1,181 @@
1
+ import { defineComponent as i } from "@openuidev/react-lang";
2
+ import { MessageText as g } from "../../chat/Message/streamdown/MessageText.js";
3
+ import { Text as o } from "../../Text/Text.js";
4
+ import { colorName as d, children as u } from "../schema.js";
5
+ import { jsx as t } from "react/jsx-runtime";
6
+ import { object as a, enum as l, number as x, boolean as c, union as h, string as n } from "../../node_modules/zod/v4/classic/schemas.js";
7
+ const f = {
8
+ sm: "heading-5",
9
+ md: "heading-4",
10
+ lg: "heading-3",
11
+ xl: "heading-2",
12
+ "2xl": "heading-1",
13
+ "3xl": "heading-1"
14
+ }, b = {
15
+ xs: "xs",
16
+ sm: "sm",
17
+ md: "md",
18
+ lg: "lg"
19
+ };
20
+ function s(e) {
21
+ switch (e) {
22
+ case "muted":
23
+ case "faint":
24
+ return "secondary";
25
+ case "danger":
26
+ return "danger";
27
+ case "success":
28
+ return "success";
29
+ case "warning":
30
+ return "warning";
31
+ case "primary":
32
+ case "info":
33
+ return "primary";
34
+ default:
35
+ return;
36
+ }
37
+ }
38
+ const z = i({
39
+ name: "Title",
40
+ props: a({
41
+ text: n(),
42
+ size: l(["sm", "md", "lg", "xl", "2xl", "3xl"]).optional(),
43
+ color: d.optional()
44
+ }),
45
+ description: "Heading; lg for a card title, 2xl for a page title.",
46
+ component: ({
47
+ props: e
48
+ }) => /* @__PURE__ */ t(o, {
49
+ as: "h2",
50
+ variant: f[e.size ?? "lg"] ?? "heading-3",
51
+ color: s(e.color),
52
+ children: e.text
53
+ })
54
+ }), A = i({
55
+ name: "Text",
56
+ props: a({
57
+ text: h([n(), u]),
58
+ size: l(["xs", "sm", "md", "lg"]).optional(),
59
+ color: d.optional(),
60
+ weight: l(["normal", "medium", "semibold"]).optional(),
61
+ italic: c().optional(),
62
+ lineThrough: c().optional(),
63
+ tabularNums: c().optional(),
64
+ maxLines: x().optional()
65
+ }),
66
+ description: "Paragraph; supports **bold**, *italic*, `code` and [links](https://…). text may be a list mixing strings and inline components.",
67
+ component: ({
68
+ props: e,
69
+ renderNode: p
70
+ }) => {
71
+ const r = typeof e.text == "string" ? e.text : p(e.text), m = {
72
+ as: "div",
73
+ variant: b[e.size ?? "md"] ?? "md",
74
+ color: s(e.color),
75
+ bold: e.weight === "semibold" || e.weight === "medium",
76
+ italic: e.italic,
77
+ decoration: e.lineThrough ? "line-through" : void 0,
78
+ truncate: e.maxLines === 1
79
+ };
80
+ return typeof r == "string" && /[*`[\]]/.test(r) ? /* @__PURE__ */ t(o, {
81
+ ...m,
82
+ children: /* @__PURE__ */ t(g, {
83
+ mode: "static",
84
+ children: r
85
+ })
86
+ }) : /* @__PURE__ */ t(o, {
87
+ ...m,
88
+ children: r
89
+ });
90
+ }
91
+ }), C = i({
92
+ name: "Caption",
93
+ props: a({
94
+ text: n(),
95
+ color: d.optional()
96
+ }),
97
+ description: "Secondary supporting line under a title.",
98
+ component: ({
99
+ props: e
100
+ }) => /* @__PURE__ */ t(o, {
101
+ variant: "sm",
102
+ color: s(e.color) ?? "secondary",
103
+ children: e.text
104
+ })
105
+ }), I = i({
106
+ name: "Label",
107
+ props: a({
108
+ text: n()
109
+ }),
110
+ description: "Field or group label.",
111
+ component: ({
112
+ props: e
113
+ }) => /* @__PURE__ */ t(o, {
114
+ variant: "label",
115
+ bold: !0,
116
+ children: e.text
117
+ })
118
+ }), N = i({
119
+ name: "Badge",
120
+ props: a({
121
+ text: n(),
122
+ color: l(["neutral", "info", "success", "warning", "danger", "purple", "pink"]).optional()
123
+ }),
124
+ description: "Fact chip for eras, status, tags.",
125
+ component: ({
126
+ props: e
127
+ }) => /* @__PURE__ */ t(o, {
128
+ variant: "label",
129
+ color: s(e.color === "neutral" ? "muted" : e.color) ?? "secondary",
130
+ style: {
131
+ display: "inline-flex",
132
+ alignItems: "center",
133
+ padding: "var(--spacing-xs) var(--spacing-sm)",
134
+ borderRadius: "var(--radius-full)",
135
+ background: "var(--color-surface-float)",
136
+ border: "1px solid var(--color-surface-border)",
137
+ lineHeight: 1.3
138
+ },
139
+ children: e.text
140
+ })
141
+ }), R = i({
142
+ name: "Link",
143
+ props: a({
144
+ text: n(),
145
+ url: n()
146
+ }),
147
+ description: "Opens an http(s) URL in a new tab.",
148
+ component: ({
149
+ props: e
150
+ }) => /* @__PURE__ */ t(o, {
151
+ as: "a",
152
+ variant: "sm",
153
+ color: "primary",
154
+ href: e.url,
155
+ target: "_blank",
156
+ rel: "noopener noreferrer",
157
+ children: e.text
158
+ })
159
+ }), _ = i({
160
+ name: "Markdown",
161
+ props: a({
162
+ text: n()
163
+ }),
164
+ description: "Prose with headings, lists, quotes, code and tables.",
165
+ component: ({
166
+ props: e
167
+ }) => /* @__PURE__ */ t(g, {
168
+ mode: "static",
169
+ children: e.text
170
+ })
171
+ });
172
+ export {
173
+ N as Badge,
174
+ C as Caption,
175
+ I as Label,
176
+ R as Link,
177
+ _ as Markdown,
178
+ A as Text,
179
+ z as Title
180
+ };
181
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sources":["../../../src/openui/components/text.tsx"],"sourcesContent":["import { defineComponent } from '@openuidev/react-lang';\nimport { z } from 'zod/v4';\n\nimport { MessageText } from '../../chat/Message/streamdown/MessageText';\nimport { Text as ReformaText } from '../../Text';\nimport { children, colorName } from '../schema';\n\nimport type { TextColor, TextVariant } from '../../types';\n\nconst TITLE_VARIANT: Record<string, TextVariant> = {\n sm: 'heading-5',\n md: 'heading-4',\n lg: 'heading-3',\n xl: 'heading-2',\n '2xl': 'heading-1',\n '3xl': 'heading-1',\n};\n\nconst BODY_VARIANT: Record<string, TextVariant> = {\n xs: 'xs',\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n};\n\nfunction textColor(name: string | undefined): TextColor | undefined {\n switch (name) {\n case 'muted':\n case 'faint':\n return 'secondary';\n case 'danger':\n return 'danger';\n case 'success':\n return 'success';\n case 'warning':\n return 'warning';\n case 'primary':\n case 'info':\n return 'primary';\n default:\n return undefined;\n }\n}\n\nexport const Title = defineComponent({\n name: 'Title',\n props: z.object({\n text: z.string(),\n size: z.enum(['sm', 'md', 'lg', 'xl', '2xl', '3xl']).optional(),\n color: colorName.optional(),\n }),\n description: 'Heading; lg for a card title, 2xl for a page title.',\n component: ({ props }) => (\n <ReformaText\n as=\"h2\"\n variant={ TITLE_VARIANT[props.size ?? 'lg'] ?? 'heading-3' }\n color={ textColor(props.color) }\n >\n {props.text}\n </ReformaText>\n ),\n});\n\nexport const Text = defineComponent({\n name: 'Text',\n props: z.object({\n text: z.union([z.string(), children]),\n size: z.enum(['xs', 'sm', 'md', 'lg']).optional(),\n color: colorName.optional(),\n weight: z.enum(['normal', 'medium', 'semibold']).optional(),\n italic: z.boolean().optional(),\n lineThrough: z.boolean().optional(),\n tabularNums: z.boolean().optional(),\n maxLines: z.number().optional(),\n }),\n description:\n 'Paragraph; supports **bold**, *italic*, `code` and [links](https://…). text may be a list mixing strings and inline components.',\n component: ({ props, renderNode }) => {\n const body = typeof props.text === 'string'\n ? props.text\n : renderNode(props.text);\n\n const shared = {\n as: 'div' as const,\n variant: (BODY_VARIANT[props.size ?? 'md'] ?? 'md') as TextVariant,\n color: textColor(props.color),\n bold: props.weight === 'semibold' || props.weight === 'medium',\n italic: props.italic,\n decoration: props.lineThrough ? 'line-through' as const : undefined,\n truncate: props.maxLines === 1,\n };\n\n if (typeof body === 'string' && /[*`[\\]]/.test(body)) {\n return (\n <ReformaText { ...shared }>\n <MessageText mode=\"static\">{body}</MessageText>\n </ReformaText>\n );\n }\n\n return (\n <ReformaText { ...shared }>\n {body}\n </ReformaText>\n );\n },\n});\n\nexport const Caption = defineComponent({\n name: 'Caption',\n props: z.object({\n text: z.string(),\n color: colorName.optional(),\n }),\n description: 'Secondary supporting line under a title.',\n component: ({ props }) => (\n <ReformaText variant=\"sm\" color={ textColor(props.color) ?? 'secondary' }>\n {props.text}\n </ReformaText>\n ),\n});\n\nexport const Label = defineComponent({\n name: 'Label',\n props: z.object({ text: z.string() }),\n description: 'Field or group label.',\n component: ({ props }) => (\n <ReformaText variant=\"label\" bold>\n {props.text}\n </ReformaText>\n ),\n});\n\nexport const Badge = defineComponent({\n name: 'Badge',\n props: z.object({\n text: z.string(),\n color: z.enum(['neutral', 'info', 'success', 'warning', 'danger', 'purple', 'pink']).optional(),\n }),\n description: 'Fact chip for eras, status, tags.',\n component: ({ props }) => (\n <ReformaText\n variant=\"label\"\n color={ textColor(props.color === 'neutral' ? 'muted' : props.color) ?? 'secondary' }\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n padding: 'var(--spacing-xs) var(--spacing-sm)',\n borderRadius: 'var(--radius-full)',\n background: 'var(--color-surface-float)',\n border: '1px solid var(--color-surface-border)',\n lineHeight: 1.3,\n }}\n >\n {props.text}\n </ReformaText>\n ),\n});\n\nexport const Link = defineComponent({\n name: 'Link',\n props: z.object({ text: z.string(), url: z.string() }),\n description: 'Opens an http(s) URL in a new tab.',\n component: ({ props }) => (\n <ReformaText\n as=\"a\"\n variant=\"sm\"\n color=\"primary\"\n href={ props.url }\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {props.text}\n </ReformaText>\n ),\n});\n\nexport const Markdown = defineComponent({\n name: 'Markdown',\n props: z.object({ text: z.string() }),\n description: 'Prose with headings, lists, quotes, code and tables.',\n component: ({ props }) => (\n <MessageText mode=\"static\">{props.text}</MessageText>\n ),\n});\n"],"names":["TITLE_VARIANT","BODY_VARIANT","textColor","name","Title","defineComponent","z.object","z.string","z.enum","colorName","props","ReformaText","Text","z.union","children","z.boolean","z.number","renderNode","body","shared","MessageText","Caption","Label","Badge","Link","Markdown"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { z } from "zod/v4";
2
+ export declare const MixColor: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
3
+ from: z.ZodString;
4
+ to: z.ZodString;
5
+ t: z.ZodNumber;
6
+ }, z.core.$strip>, z.ZodString>;
7
+ export declare const colorFunctions: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
8
+ from: z.ZodString;
9
+ to: z.ZodString;
10
+ t: z.ZodNumber;
11
+ }, z.core.$strip>, z.ZodString>[];
12
+ //# sourceMappingURL=colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/openui/functions/colors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAW3B,eAAO,MAAM,QAAQ;;;;+BAWnB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;iCAAa,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { defineFunction as s } from "@openuidev/react-lang";
2
+ import { string as e, object as h, number as p } from "../../node_modules/zod/v4/classic/schemas.js";
3
+ const l = /^#?([\da-f]{3}|[\da-f]{6})$/i;
4
+ function c(t) {
5
+ const o = l.exec(t.trim());
6
+ if (!o) throw new Error(`not a hex color: ${t}`);
7
+ const r = o[1].length === 3 ? o[1].replace(/./g, "$&$&") : o[1];
8
+ return [0, 2, 4].map((n) => parseInt(r.slice(n, n + 2), 16));
9
+ }
10
+ const x = s({
11
+ name: "MixColor",
12
+ description: 'The hex color a fraction t of the way from one hex color to another, e.g. @MixColor("#ffffff", "#0285ff", 0.5) for a heatmap or a tint',
13
+ params: h({
14
+ from: e(),
15
+ to: e(),
16
+ t: p()
17
+ }),
18
+ returns: e(),
19
+ fn: ({
20
+ from: t,
21
+ to: o,
22
+ t: r
23
+ }) => {
24
+ const n = c(t), f = c(o), i = Math.min(1, Math.max(0, r));
25
+ return `#${n.map((a, m) => Math.round(a + (f[m] - a) * i).toString(16).padStart(2, "0")).join("")}`;
26
+ }
27
+ }), M = [x];
28
+ export {
29
+ x as MixColor,
30
+ M as colorFunctions
31
+ };
32
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.js","sources":["../../../src/openui/functions/colors.ts"],"sourcesContent":["import { defineFunction } from \"@openuidev/react-lang\";\nimport { z } from \"zod/v4\";\n\nconst HEX = /^#?([\\da-f]{3}|[\\da-f]{6})$/i;\n\nfunction channels(color: string): number[] {\n const m = HEX.exec(color.trim());\n if (!m) throw new Error(`not a hex color: ${color}`);\n const hex = m[1].length === 3 ? m[1].replace(/./g, \"$&$&\") : m[1];\n return [0, 2, 4].map((i) => parseInt(hex.slice(i, i + 2), 16));\n}\n\nexport const MixColor = defineFunction({\n name: \"MixColor\",\n description: 'The hex color a fraction t of the way from one hex color to another, e.g. @MixColor(\"#ffffff\", \"#0285ff\", 0.5) for a heatmap or a tint',\n params: z.object({ from: z.string(), to: z.string(), t: z.number() }),\n returns: z.string(),\n fn: ({ from, to, t }) => {\n const a = channels(from);\n const b = channels(to);\n const k = Math.min(1, Math.max(0, t));\n return `#${a.map((v, i) => Math.round(v + (b[i] - v) * k).toString(16).padStart(2, \"0\")).join(\"\")}`;\n },\n});\n\nexport const colorFunctions = [MixColor];\n"],"names":["HEX","channels","color","m","hex","i","MixColor","defineFunction","z.object","z.string","z.number","from","to","t","a","b","k","v","colorFunctions"],"mappings":";;AAEA,MAAMA,IAAM;AACZ,SAASC,EAASC,GAAO;AACvB,QAAMC,IAAIH,EAAI,KAAKE,EAAM,MAAM;AAC/B,MAAI,CAACC,EAAG,OAAM,IAAI,MAAM,oBAAoBD,CAAK,EAAE;AACnD,QAAME,IAAMD,EAAE,CAAC,EAAE,WAAW,IAAIA,EAAE,CAAC,EAAE,QAAQ,MAAM,MAAM,IAAIA,EAAE,CAAC;AAChE,SAAO,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAAE,MAAK,SAASD,EAAI,MAAMC,GAAGA,IAAI,CAAC,GAAG,EAAE,CAAC;AAC7D;AACO,MAAMC,IAAWC,EAAe;AAAA,EACrC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,QAAQC,EAAS;AAAA,IACf,MAAMC,EAAE;AAAA,IACR,IAAIA,EAAE;AAAA,IACN,GAAGC,EAAE;AAAA,EAAO,CACb;AAAA,EACD,SAASD,EAAE;AAAA,EACX,IAAI,CAAC;AAAA,IACH,MAAAE;AAAA,IACA,IAAAC;AAAA,IACA,GAAAC;AAAA,EAAA,MACI;AACJ,UAAMC,IAAIb,EAASU,CAAI,GACjBI,IAAId,EAASW,CAAE,GACfI,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGH,CAAC,CAAC;AACpC,WAAO,IAAIC,EAAE,IAAI,CAACG,GAAGZ,MAAM,KAAK,MAAMY,KAAKF,EAAEV,CAAC,IAAIY,KAAKD,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;AAAA,EACnG;AACF,CAAC,GACYE,IAAiB,CAACZ,CAAQ;"}
@@ -0,0 +1,170 @@
1
+ import { z } from "zod/v4";
2
+ export declare const GroupBy: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
3
+ rows: z.ZodArray<z.ZodAny>;
4
+ key: z.ZodString;
5
+ field: z.ZodOptional<z.ZodString>;
6
+ agg: z.ZodOptional<z.ZodEnum<{
7
+ avg: "avg";
8
+ count: "count";
9
+ max: "max";
10
+ min: "min";
11
+ sum: "sum";
12
+ }>>;
13
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
14
+ key: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
15
+ value: z.ZodNumber;
16
+ }, z.core.$strip>>>;
17
+ export declare const Pivot: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
18
+ rows: z.ZodArray<z.ZodAny>;
19
+ rowKey: z.ZodString;
20
+ colKey: z.ZodString;
21
+ field: z.ZodOptional<z.ZodString>;
22
+ agg: z.ZodOptional<z.ZodEnum<{
23
+ avg: "avg";
24
+ count: "count";
25
+ max: "max";
26
+ min: "min";
27
+ sum: "sum";
28
+ }>>;
29
+ }, z.core.$strip>, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>>;
30
+ export declare const Top: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
31
+ rows: z.ZodArray<z.ZodAny>;
32
+ field: z.ZodString;
33
+ n: z.ZodNumber;
34
+ direction: z.ZodOptional<z.ZodEnum<{
35
+ asc: "asc";
36
+ desc: "desc";
37
+ }>>;
38
+ }, z.core.$strip>, z.ZodArray<z.ZodAny>>;
39
+ export declare const Between: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
40
+ rows: z.ZodArray<z.ZodAny>;
41
+ field: z.ZodString;
42
+ min: z.ZodOptional<z.ZodAny>;
43
+ max: z.ZodOptional<z.ZodAny>;
44
+ }, z.core.$strip>, z.ZodArray<z.ZodAny>>;
45
+ export declare const Bucket: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
46
+ rows: z.ZodArray<z.ZodAny>;
47
+ dateField: z.ZodString;
48
+ unit: z.ZodEnum<{
49
+ day: "day";
50
+ month: "month";
51
+ week: "week";
52
+ }>;
53
+ field: z.ZodOptional<z.ZodString>;
54
+ agg: z.ZodOptional<z.ZodEnum<{
55
+ avg: "avg";
56
+ count: "count";
57
+ max: "max";
58
+ min: "min";
59
+ sum: "sum";
60
+ }>>;
61
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
62
+ key: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
63
+ value: z.ZodNumber;
64
+ }, z.core.$strip>>>;
65
+ export declare const Cumulative: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
66
+ rows: z.ZodArray<z.ZodAny>;
67
+ field: z.ZodString;
68
+ }, z.core.$strip>, z.ZodArray<z.ZodAny>>;
69
+ export declare const MovingAvg: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
70
+ rows: z.ZodArray<z.ZodAny>;
71
+ field: z.ZodString;
72
+ window: z.ZodNumber;
73
+ }, z.core.$strip>, z.ZodArray<z.ZodAny>>;
74
+ export declare const Change: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
75
+ current: z.ZodNumber;
76
+ previous: z.ZodNumber;
77
+ }, z.core.$strip>, z.ZodNullable<z.ZodNumber>>;
78
+ export declare const Histogram: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
79
+ values: z.ZodArray<z.ZodNumber>;
80
+ bins: z.ZodNumber;
81
+ min: z.ZodOptional<z.ZodNumber>;
82
+ max: z.ZodOptional<z.ZodNumber>;
83
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
84
+ key: z.ZodString;
85
+ value: z.ZodNumber;
86
+ start: z.ZodNumber;
87
+ end: z.ZodNumber;
88
+ }, z.core.$strip>>>;
89
+ export declare const Stats: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
90
+ values: z.ZodArray<z.ZodNumber>;
91
+ }, z.core.$strip>, z.ZodObject<{
92
+ count: z.ZodNumber;
93
+ min: z.ZodNumber;
94
+ max: z.ZodNumber;
95
+ mean: z.ZodNumber;
96
+ median: z.ZodNumber;
97
+ stdev: z.ZodNumber;
98
+ }, z.core.$strip>>;
99
+ export declare const dataFunctions: (import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
100
+ rows: z.ZodArray<z.ZodAny>;
101
+ key: z.ZodString;
102
+ field: z.ZodOptional<z.ZodString>;
103
+ agg: z.ZodOptional<z.ZodEnum<{
104
+ avg: "avg";
105
+ count: "count";
106
+ max: "max";
107
+ min: "min";
108
+ sum: "sum";
109
+ }>>;
110
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
111
+ key: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
112
+ value: z.ZodNumber;
113
+ }, z.core.$strip>>> | import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
114
+ rows: z.ZodArray<z.ZodAny>;
115
+ rowKey: z.ZodString;
116
+ colKey: z.ZodString;
117
+ field: z.ZodOptional<z.ZodString>;
118
+ agg: z.ZodOptional<z.ZodEnum<{
119
+ avg: "avg";
120
+ count: "count";
121
+ max: "max";
122
+ min: "min";
123
+ sum: "sum";
124
+ }>>;
125
+ }, z.core.$strip>, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>> | import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
126
+ rows: z.ZodArray<z.ZodAny>;
127
+ dateField: z.ZodString;
128
+ unit: z.ZodEnum<{
129
+ day: "day";
130
+ month: "month";
131
+ week: "week";
132
+ }>;
133
+ field: z.ZodOptional<z.ZodString>;
134
+ agg: z.ZodOptional<z.ZodEnum<{
135
+ avg: "avg";
136
+ count: "count";
137
+ max: "max";
138
+ min: "min";
139
+ sum: "sum";
140
+ }>>;
141
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
142
+ key: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
143
+ value: z.ZodNumber;
144
+ }, z.core.$strip>>> | import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
145
+ rows: z.ZodArray<z.ZodAny>;
146
+ field: z.ZodString;
147
+ }, z.core.$strip>, z.ZodArray<z.ZodAny>> | import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
148
+ current: z.ZodNumber;
149
+ previous: z.ZodNumber;
150
+ }, z.core.$strip>, z.ZodNullable<z.ZodNumber>> | import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
151
+ values: z.ZodArray<z.ZodNumber>;
152
+ bins: z.ZodNumber;
153
+ min: z.ZodOptional<z.ZodNumber>;
154
+ max: z.ZodOptional<z.ZodNumber>;
155
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
156
+ key: z.ZodString;
157
+ value: z.ZodNumber;
158
+ start: z.ZodNumber;
159
+ end: z.ZodNumber;
160
+ }, z.core.$strip>>> | import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
161
+ values: z.ZodArray<z.ZodNumber>;
162
+ }, z.core.$strip>, z.ZodObject<{
163
+ count: z.ZodNumber;
164
+ min: z.ZodNumber;
165
+ max: z.ZodNumber;
166
+ mean: z.ZodNumber;
167
+ median: z.ZodNumber;
168
+ stdev: z.ZodNumber;
169
+ }, z.core.$strip>>)[];
170
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/openui/functions/data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAc3B,eAAO,MAAM,OAAO;;;;;;;;;;;;;;mBAQlB,CAAC;AAEH,eAAO,MAAM,KAAK;;;;;;;;;;;;yGAoBhB,CAAC;AAEH,eAAO,MAAM,GAAG;;;;;;;;wCAed,CAAC;AAYH,eAAO,MAAM,OAAO;;;;;wCAYlB,CAAC;AAgBH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;mBA0CjB,CAAC;AAEH,eAAO,MAAM,UAAU;;;wCASrB,CAAC;AAEH,eAAO,MAAM,SAAS;;;;wCAepB,CAAC;AAEH,eAAO,MAAM,MAAM;;;8CAOjB,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;mBAyBpB,CAAC;AAEH,eAAO,MAAM,KAAK;;;;;;;;;kBAuBhB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAA0F,CAAC"}