@kubuild/renderer 0.6.0 → 0.8.0

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 (59) hide show
  1. package/dist/action-dispatcher.d.ts.map +1 -1
  2. package/dist/action-runners/api-request.d.ts +13 -1
  3. package/dist/action-runners/api-request.d.ts.map +1 -1
  4. package/dist/action-runners/tracking.d.ts +2 -0
  5. package/dist/action-runners/tracking.d.ts.map +1 -1
  6. package/dist/artboard-portal-host.d.ts +3 -0
  7. package/dist/artboard-portal-host.d.ts.map +1 -1
  8. package/dist/code-generator.d.ts +5 -1
  9. package/dist/code-generator.d.ts.map +1 -1
  10. package/dist/form-context.d.ts.map +1 -1
  11. package/dist/index.cjs +95 -84
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +95 -84
  15. package/dist/legacy-actions.d.ts +19 -0
  16. package/dist/legacy-actions.d.ts.map +1 -0
  17. package/dist/nodes/extended-form-nodes.d.ts +118 -0
  18. package/dist/nodes/extended-form-nodes.d.ts.map +1 -0
  19. package/dist/nodes/form-nodes.d.ts.map +1 -1
  20. package/dist/nodes/index.d.ts +2 -0
  21. package/dist/nodes/index.d.ts.map +1 -1
  22. package/dist/nodes/radio-group-context.d.ts +12 -0
  23. package/dist/nodes/radio-group-context.d.ts.map +1 -0
  24. package/dist/preview-adapter.d.ts +5 -4
  25. package/dist/preview-adapter.d.ts.map +1 -1
  26. package/dist/prop-resolution.d.ts.map +1 -1
  27. package/dist/render-context.d.ts +12 -2
  28. package/dist/render-context.d.ts.map +1 -1
  29. package/dist/renderer.d.ts +31 -1
  30. package/dist/renderer.d.ts.map +1 -1
  31. package/dist/renderers/conversion/accordion.d.ts +20 -0
  32. package/dist/renderers/conversion/accordion.d.ts.map +1 -0
  33. package/dist/renderers/conversion/carousel.d.ts +13 -0
  34. package/dist/renderers/conversion/carousel.d.ts.map +1 -0
  35. package/dist/renderers/conversion/countdown.d.ts +50 -0
  36. package/dist/renderers/conversion/countdown.d.ts.map +1 -0
  37. package/dist/renderers/conversion/divider.d.ts +9 -0
  38. package/dist/renderers/conversion/divider.d.ts.map +1 -0
  39. package/dist/renderers/conversion/index.d.ts +13 -0
  40. package/dist/renderers/conversion/index.d.ts.map +1 -0
  41. package/dist/renderers/conversion/rating.d.ts +14 -0
  42. package/dist/renderers/conversion/rating.d.ts.map +1 -0
  43. package/dist/renderers/conversion/shared.d.ts +17 -0
  44. package/dist/renderers/conversion/shared.d.ts.map +1 -0
  45. package/dist/renderers/conversion/tabs.d.ts +7 -0
  46. package/dist/renderers/conversion/tabs.d.ts.map +1 -0
  47. package/dist/renderers/extended-form-renderers.d.ts +8 -0
  48. package/dist/renderers/extended-form-renderers.d.ts.map +1 -0
  49. package/dist/renderers/index.d.ts +2 -0
  50. package/dist/renderers/index.d.ts.map +1 -1
  51. package/dist/renderers/render-node-content.d.ts +6 -0
  52. package/dist/renderers/render-node-content.d.ts.map +1 -1
  53. package/dist/styles.d.ts +58 -2
  54. package/dist/styles.d.ts.map +1 -1
  55. package/dist/theme.d.ts +20 -0
  56. package/dist/theme.d.ts.map +1 -0
  57. package/dist/tracking/tracking-manager.d.ts +1 -1
  58. package/dist/tracking/tracking-manager.d.ts.map +1 -1
  59. package/package.json +4 -4
@@ -45,6 +45,12 @@ export declare function renderListNode(options: RenderNodeContentOptions): React
45
45
  * Table nodes: table, table-row, table-cell
46
46
  */
47
47
  export declare function renderTableNode(options: RenderNodeContentOptions): React.ReactElement | null;
48
+ /**
49
+ * Creates an inline SVG data-URI placeholder for image nodes when no image URL
50
+ * is available (e.g. in editor mode when bound to a variable with an empty sample value).
51
+ * Renders an accessible, non-broken visual box on canvas and ensures <img> keeps a valid src.
52
+ */
53
+ export declare function createPlaceholderImage(label?: string): string;
48
54
  /**
49
55
  * Media nodes: image, video, icon, html-embed
50
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"render-node-content.d.ts","sourceRoot":"","sources":["../../src/renderers/render-node-content.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-node-content.d.ts","sourceRoot":"","sources":["../../src/renderers/render-node-content.tsx"],"names":[],"mappings":"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"}
package/dist/styles.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { PageDocument, ResponsiveStyles } from '@kubuild/schema';
1
+ import { PageDocument, Node, ResponsiveStyles, type BreakpointName } from '@kubuild/schema';
2
2
  import React from 'react';
3
3
  /**
4
4
  * Normalizes CSS and Kubuild style properties into standard, valid React.CSSProperties.
@@ -11,7 +11,63 @@ import React from 'react';
11
11
  * - Linear and radial gradients: gradient, backgroundGradient, backgroundImage
12
12
  */
13
13
  export declare function normalizeStyleObject(raw: Record<string, unknown> | undefined): React.CSSProperties;
14
- export declare function resolveNodeStyles(styles?: ResponsiveStyles, viewport?: 'desktop' | 'tablet' | 'mobile'): React.CSSProperties;
14
+ /**
15
+ * How the renderer applies `styles.desktop` / `styles.tablet` / `styles.mobile` (STORA-540).
16
+ *
17
+ * - `'viewport'`: merge `base` with the single layer named by the `viewport` prop into the
18
+ * inline style. Used by the editor canvas, where each device frame previews one viewport
19
+ * regardless of the real browser width.
20
+ * - `'css'`: inline style is `base` only; breakpoint layers are emitted as `@media` rules
21
+ * scoped to `[data-kubuild-node="…"]`, so the real browser width picks the layer. Output
22
+ * depends only on the document, so server and client render identical markup.
23
+ */
24
+ export type ResponsiveMode = 'css' | 'viewport';
25
+ export declare function resolveNodeStyles(styles?: ResponsiveStyles, viewport?: BreakpointName): React.CSSProperties;
26
+ /** Normalized `base` layer only — the inline style used by `responsive: 'css'`. */
27
+ export declare function resolveBaseNodeStyles(styles?: ResponsiveStyles): React.CSSProperties;
28
+ /**
29
+ * Split a node's responsive styles into the always-on `base` style plus, per breakpoint,
30
+ * only the declarations that differ from it.
31
+ *
32
+ * Each override is computed on the *normalized* merge (`base` + layer), i.e. exactly what
33
+ * `resolveNodeStyles(styles, breakpoint)` returns, so CSS output reproduces the
34
+ * `viewport`-mode result at every width. A property present in `base` but dropped by the
35
+ * merge (e.g. the implicit `flex` that `width: 'fill'` adds) is reset with `unset`.
36
+ */
37
+ export declare function resolveResponsiveStyleLayers(styles?: ResponsiveStyles): {
38
+ base: Record<string, unknown>;
39
+ overrides: Partial<Record<BreakpointName, Record<string, unknown>>>;
40
+ };
41
+ export interface ResponsiveCssRule {
42
+ nodeId: string;
43
+ declarations: string;
44
+ }
45
+ /**
46
+ * Walk a node tree and collect per-breakpoint override declarations in tree order.
47
+ * Shared by the runtime renderer (`collectResponsiveStylesCss`) and the static code
48
+ * generator, so both emit the same overrides under the same media queries (STORA-542).
49
+ */
50
+ export declare function collectResponsiveCssRules(root: Node | undefined | null, options?: {
51
+ important?: boolean;
52
+ }): Record<BreakpointName, ResponsiveCssRule[]>;
53
+ /** Scoped attribute selector matching the element the renderer tags with a node id. */
54
+ export declare function nodeAttributeSelector(nodeId: string): string;
55
+ /**
56
+ * Produce the `@media` stylesheet for `responsive: 'css'` (STORA-540), e.g.
57
+ *
58
+ * @media (max-width: 767.98px) {
59
+ * [data-kubuild-node="grid-1"] { grid-template-columns: 1fr !important; }
60
+ * }
61
+ *
62
+ * Declarations use `!important` because the `base` layer (and component defaults) are
63
+ * inline styles, which otherwise beat any stylesheet rule. Pseudo-state rules from
64
+ * `collectStateStylesCss` still win while active since `[…]:hover` is more specific.
65
+ * The output is a pure function of the document (no `window`/`matchMedia` access), so
66
+ * SSR and hydration produce byte-identical `<style>` content.
67
+ */
68
+ export declare function collectResponsiveStylesCss(document: PageDocument | undefined | null, options?: {
69
+ important?: boolean;
70
+ }): string;
15
71
  /**
16
72
  * Serialize a style definition object into CSS declarations.
17
73
  * camelCase keys are converted to kebab-case CSS properties.
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAQ,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACvC,KAAK,CAAC,aAAa,CAuHrB;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,CAAC,EAAE,gBAAgB,EACzB,QAAQ,GAAE,SAAS,GAAG,QAAQ,GAAG,QAAoB,GACpD,KAAK,CAAC,aAAa,CAMrB;AAiBD;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACpD,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,MAAM,CAmBR;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,EACzC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAwB,GACrD,MAAM,CAwBR;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,QA0BtB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,IAAI,EACJ,gBAAgB,EAGhB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACvC,KAAK,CAAC,aAAa,CAuHrB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,UAAU,CAAC;AAEhD,wBAAgB,iBAAiB,CAC/B,MAAM,CAAC,EAAE,gBAAgB,EACzB,QAAQ,GAAE,cAA0B,GACnC,KAAK,CAAC,aAAa,CAMrB;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAGpF;AAMD;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG;IACvE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACrE,CAsBA;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,EAC7B,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,MAAM,CAAC,cAAc,EAAE,iBAAiB,EAAE,CAAC,CAuB7C;AAED,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,EACzC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAwB,GACrD,MAAM,CAeR;AAkFD;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACpD,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,MAAM,CAMR;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,EACzC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAwB,GACrD,MAAM,CAwBR;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,QA0BtB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type React from 'react';
2
+ import { type PageDocument, type Theme } from '@kubuild/schema';
3
+ import type { RenderContext } from '@kubuild/core';
4
+ /**
5
+ * Document theme (STORA-551) with the host's runtime override (`RenderContext.theme`, e.g. a
6
+ * per-tenant brand color) layered on top. Neither input is mutated.
7
+ */
8
+ export declare function resolveRuntimeTheme(document: Pick<PageDocument, 'theme'> | undefined | null, context?: Pick<RenderContext, 'theme'> | null): Theme;
9
+ /**
10
+ * Theme tokens as a React inline-style object of CSS custom properties
11
+ * (`{ '--kb-color-primary': '#2563eb' }`). Unsafe keys/values are dropped, so this is safe
12
+ * to call on an unvalidated host override.
13
+ */
14
+ export declare function themeToCssProperties(theme: Partial<Theme> | undefined | null): React.CSSProperties;
15
+ /**
16
+ * Theme tokens as CSS declarations (`--kb-color-primary: #2563eb;`) for a stylesheet rule,
17
+ * e.g. `:root { ... }` in generated/exported HTML.
18
+ */
19
+ export declare function themeToCssDeclarations(theme: Partial<Theme> | undefined | null): string;
20
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAoC,KAAK,YAAY,EAAE,KAAK,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,EACxD,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,IAAI,GAC5C,KAAK,CAEP;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,IAAI,GACvC,KAAK,CAAC,aAAa,CAMrB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAIvF"}
@@ -30,7 +30,7 @@ export declare const META_STANDARD_EVENTS: Set<string>;
30
30
  export interface FireBrowserPixelOptions {
31
31
  eventId?: string;
32
32
  config?: TrackingConfig;
33
- provider?: 'all' | 'meta' | 'google' | 'tiktok' | 'custom' | string;
33
+ provider?: 'all' | 'meta' | 'google' | 'gtm' | 'tiktok' | 'custom' | string;
34
34
  eventType?: 'standard' | 'custom';
35
35
  }
36
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tracking-manager.d.ts","sourceRoot":"","sources":["../../src/tracking/tracking-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACnC,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACpC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;QACtB,GAAG,CAAC,EAAE;YACJ,KAAK,EAAE,CACL,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,IAAI,CAAC;YACV,IAAI,EAAE,MAAM,IAAI,CAAC;YACjB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;YAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH;CACF;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,IAAI,CA4JzE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAM5C;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,aAmB/B,CAAC;AAEH,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpE,SAAS,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,uBAAuB,GAChC,IAAI,CA0DN"}
1
+ {"version":3,"file":"tracking-manager.d.ts","sourceRoot":"","sources":["../../src/tracking/tracking-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACnC,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACpC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;QACtB,GAAG,CAAC,EAAE;YACJ,KAAK,EAAE,CACL,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,IAAI,CAAC;YACV,IAAI,EAAE,MAAM,IAAI,CAAC;YACjB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;YAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH;CACF;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,IAAI,CA4JzE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAM5C;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,aAmB/B,CAAC;AAEH,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5E,SAAS,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE,uBAAuB,GAChC,IAAI,CA0EN"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubuild/renderer",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Pure recursive React renderer for KUBUILD page documents",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -41,9 +41,9 @@
41
41
  "homepage": "https://github.com/kustora/kubuild#readme",
42
42
  "dependencies": {
43
43
  "lucide-react": "^1.33.0",
44
- "@kubuild/components": "0.6.0",
45
- "@kubuild/schema": "0.6.0",
46
- "@kubuild/core": "0.6.0"
44
+ "@kubuild/components": "0.8.0",
45
+ "@kubuild/schema": "0.8.0",
46
+ "@kubuild/core": "0.8.0"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "react": ">=18.0.0",