@meonode/ui 0.2.15 → 0.2.17

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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,39 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.2.17] - 2025-09-14
9
+
10
+ ### Added
11
+
12
+ - **feat(common.helper)**: add omit and omitUndefined utility functions to create object copies without specified keys or undefined values
13
+ - **feat**: integrate omit and omitUndefined functions to manage finalProps for standard HTML tags and custom components
14
+
15
+ ### Refactor
16
+
17
+ - **refactor**: remove unnecessary type assertions for children in core.node.ts
18
+ - **refactor(core.node.ts)**: streamline element creation logic
19
+
20
+ ### Test
21
+
22
+ - **test**: add test case for rendering Div node using Component HOC
23
+ - **feat(test)**: replace Div components with Container for consistency in performance tests
24
+ - **test(node.test.ts)**: add test for rendering an empty prop Div node
25
+
26
+ ### Removed
27
+
28
+ - **types**: removed redundant `key` prop from `FinalNodeProps` and default `key` from `NodeProps` types for cleaner type definitions
29
+
30
+ ## [0.2.16] - 2025-09-13
31
+
32
+ ### Added
33
+
34
+ - **feat(core)**: introduce static _isServer property to optimize server-side checks in caching methods
35
+ - **feat(core)**: remove passedKey from _functionRenderer and simplify function-as-child wrapper; augment toPortal unmount to clean portal container
36
+
37
+ ### Refactor
38
+
39
+ - **feat**: refactor children prop type to use `Children` type for better clarity and consistency across the codebase
40
+
8
41
  ## [0.2.15] - 2025-09-12
9
42
 
10
43
  ### Added
@@ -118,7 +118,7 @@ export declare const Static: (<AdditionalProps extends Record<string, any> = Rec
118
118
  * @param props Optional properties for the h1 element.
119
119
  * @returns An h1 element node.
120
120
  */
121
- export declare const H1: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"h1", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"h1">) & {
121
+ export declare const H1: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"h1", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"h1">) & {
122
122
  element: "h1";
123
123
  };
124
124
  /**
@@ -127,7 +127,7 @@ export declare const H1: (<AdditionalProps extends Record<string, any> = Record<
127
127
  * @param props Optional properties for the h2 element.
128
128
  * @returns An h2 element node.
129
129
  */
130
- export declare const H2: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"h2", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"h2">) & {
130
+ export declare const H2: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"h2", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"h2">) & {
131
131
  element: "h2";
132
132
  };
133
133
  /**
@@ -136,7 +136,7 @@ export declare const H2: (<AdditionalProps extends Record<string, any> = Record<
136
136
  * @param props Optional properties for the h3 element.
137
137
  * @returns An h3 element node.
138
138
  */
139
- export declare const H3: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"h3", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"h3">) & {
139
+ export declare const H3: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"h3", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"h3">) & {
140
140
  element: "h3";
141
141
  };
142
142
  /**
@@ -145,7 +145,7 @@ export declare const H3: (<AdditionalProps extends Record<string, any> = Record<
145
145
  * @param props Optional properties for the h4 element.
146
146
  * @returns An h4 element node.
147
147
  */
148
- export declare const H4: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"h4", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"h4">) & {
148
+ export declare const H4: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"h4", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"h4">) & {
149
149
  element: "h4";
150
150
  };
151
151
  /**
@@ -154,7 +154,7 @@ export declare const H4: (<AdditionalProps extends Record<string, any> = Record<
154
154
  * @param props Optional properties for the h5 element.
155
155
  * @returns An h5 element node.
156
156
  */
157
- export declare const H5: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"h5", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"h5">) & {
157
+ export declare const H5: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"h5", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"h5">) & {
158
158
  element: "h5";
159
159
  };
160
160
  /**
@@ -163,7 +163,7 @@ export declare const H5: (<AdditionalProps extends Record<string, any> = Record<
163
163
  * @param props Optional properties for the h6 element.
164
164
  * @returns An h6 element node.
165
165
  */
166
- export declare const H6: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"h6", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"h6">) & {
166
+ export declare const H6: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"h6", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"h6">) & {
167
167
  element: "h6";
168
168
  };
169
169
  /**
@@ -172,7 +172,7 @@ export declare const H6: (<AdditionalProps extends Record<string, any> = Record<
172
172
  * @param props Optional properties for the strong element.
173
173
  * @returns A strong element node.
174
174
  */
175
- export declare const Strong: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"strong", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"strong">) & {
175
+ export declare const Strong: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"strong", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"strong">) & {
176
176
  element: "strong";
177
177
  };
178
178
  /**
@@ -181,7 +181,7 @@ export declare const Strong: (<AdditionalProps extends Record<string, any> = Rec
181
181
  * @param props Optional properties for the em element.
182
182
  * @returns An em element node.
183
183
  */
184
- export declare const Em: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"em", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"em">) & {
184
+ export declare const Em: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"em", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"em">) & {
185
185
  element: "em";
186
186
  };
187
187
  /**
@@ -190,7 +190,7 @@ export declare const Em: (<AdditionalProps extends Record<string, any> = Record<
190
190
  * @param props Optional properties for styling and configuring the small element.
191
191
  * @returns A small element node that can be rendered in React.
192
192
  */
193
- export declare const Small: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"small", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"small">) & {
193
+ export declare const Small: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"small", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"small">) & {
194
194
  element: "small";
195
195
  };
196
196
  /**
@@ -199,7 +199,7 @@ export declare const Small: (<AdditionalProps extends Record<string, any> = Reco
199
199
  * @param props Optional properties for the mark element.
200
200
  * @returns A mark element node.
201
201
  */
202
- export declare const Mark: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"mark", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"mark">) & {
202
+ export declare const Mark: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"mark", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"mark">) & {
203
203
  element: "mark";
204
204
  };
205
205
  /**
@@ -208,7 +208,7 @@ export declare const Mark: (<AdditionalProps extends Record<string, any> = Recor
208
208
  * @param props Optional properties for the span element.
209
209
  * @returns A span element node.
210
210
  */
211
- export declare const Span: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"span", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"span">) & {
211
+ export declare const Span: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"span", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"span">) & {
212
212
  element: "span";
213
213
  };
214
214
  /**
@@ -217,7 +217,7 @@ export declare const Span: (<AdditionalProps extends Record<string, any> = Recor
217
217
  * @param props Optional properties for the p element.
218
218
  * @returns A paragraph element node.
219
219
  */
220
- export declare const P: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"p", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"p">) & {
220
+ export declare const P: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"p", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"p">) & {
221
221
  element: "p";
222
222
  };
223
223
  /**
@@ -228,7 +228,7 @@ export declare const P: (<AdditionalProps extends Record<string, any> = Record<s
228
228
  * Text('This is a sample text paragraph.', { fontSize: 'theme.text.base', color: 'theme.text.primary' })
229
229
  * ```
230
230
  */
231
- export declare const Text: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"p", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"p">) & {
231
+ export declare const Text: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"p", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"p">) & {
232
232
  element: "p";
233
233
  };
234
234
  /**
@@ -237,7 +237,7 @@ export declare const Text: (<AdditionalProps extends Record<string, any> = Recor
237
237
  * @param props Optional properties for the pre element.
238
238
  * @returns A pre element node.
239
239
  */
240
- export declare const Pre: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"pre", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"pre">) & {
240
+ export declare const Pre: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"pre", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"pre">) & {
241
241
  element: "pre";
242
242
  };
243
243
  /**
@@ -246,7 +246,7 @@ export declare const Pre: (<AdditionalProps extends Record<string, any> = Record
246
246
  * @param props Optional properties for the code element.
247
247
  * @returns A code element node.
248
248
  */
249
- export declare const Code: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"code", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"code">) & {
249
+ export declare const Code: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"code", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"code">) & {
250
250
  element: "code";
251
251
  };
252
252
  /**
@@ -337,7 +337,7 @@ export declare const Input: (<AdditionalProps extends Record<string, any> = Reco
337
337
  * @param props Optional properties for the button element.
338
338
  * @returns A button element node.
339
339
  */
340
- export declare const Button: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"button", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"button">) & {
340
+ export declare const Button: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"button", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"button">) & {
341
341
  element: "button";
342
342
  };
343
343
  /**
@@ -362,7 +362,7 @@ export declare const Select: (<AdditionalProps extends Record<string, any> = Rec
362
362
  * @param props Optional properties for the option element.
363
363
  * @returns An option element node.
364
364
  */
365
- export declare const Option: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"option", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"option">) & {
365
+ export declare const Option: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"option", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"option">) & {
366
366
  element: "option";
367
367
  };
368
368
  /**
@@ -379,7 +379,7 @@ export declare const Fieldset: (<AdditionalProps extends Record<string, any> = R
379
379
  * @param props Optional properties for the legend element.
380
380
  * @returns A legend element node.
381
381
  */
382
- export declare const Legend: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"legend", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"legend">) & {
382
+ export declare const Legend: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"legend", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"legend">) & {
383
383
  element: "legend";
384
384
  };
385
385
  /**
@@ -453,7 +453,7 @@ export declare const Td: (<AdditionalProps extends Record<string, any> = Record<
453
453
  * @param props Optional properties for the caption element.
454
454
  * @returns A caption element node.
455
455
  */
456
- export declare const Caption: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"caption", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"caption">) & {
456
+ export declare const Caption: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"caption", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"caption">) & {
457
457
  element: "caption";
458
458
  };
459
459
  /**
@@ -762,7 +762,7 @@ export declare const Figure: (<AdditionalProps extends Record<string, any> = Rec
762
762
  * @param props Optional properties for the figcaption element.
763
763
  * @returns A figcaption element node.
764
764
  */
765
- export declare const Figcaption: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"figcaption", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"figcaption">) & {
765
+ export declare const Figcaption: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"figcaption", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"figcaption">) & {
766
766
  element: "figcaption";
767
767
  };
768
768
  /**
@@ -803,7 +803,7 @@ export declare const Details: (<AdditionalProps extends Record<string, any> = Re
803
803
  * @param props Optional properties for the summary element.
804
804
  * @returns A summary element node.
805
805
  */
806
- export declare const Summary: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"summary", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"summary">) & {
806
+ export declare const Summary: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"summary", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"summary">) & {
807
807
  element: "summary";
808
808
  };
809
809
  // Document head elements
@@ -861,7 +861,7 @@ export declare const Script: (<AdditionalProps extends Record<string, any> = Rec
861
861
  * @param props Optional properties for the title element.
862
862
  * @returns A title element node.
863
863
  */
864
- export declare const Title: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"title", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"title">) & {
864
+ export declare const Title: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"title", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"title">) & {
865
865
  element: "title";
866
866
  };
867
867
  /**
@@ -879,7 +879,7 @@ export declare const Base: (<AdditionalProps extends Record<string, any> = Recor
879
879
  * @param props Optional properties for the abbr element.
880
880
  * @returns An abbr element node.
881
881
  */
882
- export declare const Abbr: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"abbr", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"abbr">) & {
882
+ export declare const Abbr: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"abbr", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"abbr">) & {
883
883
  element: "abbr";
884
884
  };
885
885
  /**
@@ -888,7 +888,7 @@ export declare const Abbr: (<AdditionalProps extends Record<string, any> = Recor
888
888
  * @param props Optional properties for the b element.
889
889
  * @returns A b element node.
890
890
  */
891
- export declare const B: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"b", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"b">) & {
891
+ export declare const B: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"b", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"b">) & {
892
892
  element: "b";
893
893
  };
894
894
  /**
@@ -897,7 +897,7 @@ export declare const B: (<AdditionalProps extends Record<string, any> = Record<s
897
897
  * @param props Optional properties for the bdi element.
898
898
  * @returns A bdi element node.
899
899
  */
900
- export declare const Bdi: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"bdi", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"bdi">) & {
900
+ export declare const Bdi: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"bdi", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"bdi">) & {
901
901
  element: "bdi";
902
902
  };
903
903
  /**
@@ -906,7 +906,7 @@ export declare const Bdi: (<AdditionalProps extends Record<string, any> = Record
906
906
  * @param props Optional properties for the bdo element.
907
907
  * @returns A bdo element node.
908
908
  */
909
- export declare const Bdo: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"bdo", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"bdo">) & {
909
+ export declare const Bdo: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"bdo", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"bdo">) & {
910
910
  element: "bdo";
911
911
  };
912
912
  /**
@@ -915,7 +915,7 @@ export declare const Bdo: (<AdditionalProps extends Record<string, any> = Record
915
915
  * @param props Optional properties for the cite element.
916
916
  * @returns A cite element node.
917
917
  */
918
- export declare const Cite: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"cite", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"cite">) & {
918
+ export declare const Cite: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"cite", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"cite">) & {
919
919
  element: "cite";
920
920
  };
921
921
  /**
@@ -924,7 +924,7 @@ export declare const Cite: (<AdditionalProps extends Record<string, any> = Recor
924
924
  * @param props Optional properties for the data element.
925
925
  * @returns A data element node.
926
926
  */
927
- export declare const Data: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"data", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"data">) & {
927
+ export declare const Data: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"data", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"data">) & {
928
928
  element: "data";
929
929
  };
930
930
  /**
@@ -933,7 +933,7 @@ export declare const Data: (<AdditionalProps extends Record<string, any> = Recor
933
933
  * @param props Optional properties for the dfn element.
934
934
  * @returns A dfn element node.
935
935
  */
936
- export declare const Dfn: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"dfn", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"dfn">) & {
936
+ export declare const Dfn: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"dfn", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"dfn">) & {
937
937
  element: "dfn";
938
938
  };
939
939
  /**
@@ -942,7 +942,7 @@ export declare const Dfn: (<AdditionalProps extends Record<string, any> = Record
942
942
  * @param props Optional properties for the i element.
943
943
  * @returns An i element node.
944
944
  */
945
- export declare const I: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"i", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"i">) & {
945
+ export declare const I: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"i", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"i">) & {
946
946
  element: "i";
947
947
  };
948
948
  /**
@@ -951,7 +951,7 @@ export declare const I: (<AdditionalProps extends Record<string, any> = Record<s
951
951
  * @param props Optional properties for the kbd element.
952
952
  * @returns A kbd element node.
953
953
  */
954
- export declare const Kbd: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"kbd", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"kbd">) & {
954
+ export declare const Kbd: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"kbd", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"kbd">) & {
955
955
  element: "kbd";
956
956
  };
957
957
  /**
@@ -960,7 +960,7 @@ export declare const Kbd: (<AdditionalProps extends Record<string, any> = Record
960
960
  * @param props Optional properties for the q element.
961
961
  * @returns A q element node.
962
962
  */
963
- export declare const Q: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"q", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"q">) & {
963
+ export declare const Q: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"q", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"q">) & {
964
964
  element: "q";
965
965
  };
966
966
  /**
@@ -969,7 +969,7 @@ export declare const Q: (<AdditionalProps extends Record<string, any> = Record<s
969
969
  * @param props Optional properties for the rp element.
970
970
  * @returns An rp element node.
971
971
  */
972
- export declare const Rp: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"rp", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"rp">) & {
972
+ export declare const Rp: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"rp", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"rp">) & {
973
973
  element: "rp";
974
974
  };
975
975
  /**
@@ -978,7 +978,7 @@ export declare const Rp: (<AdditionalProps extends Record<string, any> = Record<
978
978
  * @param props Optional properties for the rt element.
979
979
  * @returns An rt element node.
980
980
  */
981
- export declare const Rt: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"rt", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"rt">) & {
981
+ export declare const Rt: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"rt", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"rt">) & {
982
982
  element: "rt";
983
983
  };
984
984
  /**
@@ -995,7 +995,7 @@ export declare const Ruby: (<AdditionalProps extends Record<string, any> = Recor
995
995
  * @param props Optional properties for the s element.
996
996
  * @returns An s element node.
997
997
  */
998
- export declare const S: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"s", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"s">) & {
998
+ export declare const S: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"s", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"s">) & {
999
999
  element: "s";
1000
1000
  };
1001
1001
  /**
@@ -1004,7 +1004,7 @@ export declare const S: (<AdditionalProps extends Record<string, any> = Record<s
1004
1004
  * @param props Optional properties for the samp element.
1005
1005
  * @returns A samp element node.
1006
1006
  */
1007
- export declare const Samp: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"samp", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"samp">) & {
1007
+ export declare const Samp: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"samp", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"samp">) & {
1008
1008
  element: "samp";
1009
1009
  };
1010
1010
  /**
@@ -1013,7 +1013,7 @@ export declare const Samp: (<AdditionalProps extends Record<string, any> = Recor
1013
1013
  * @param props Optional properties for the sub element.
1014
1014
  * @returns A sub element node.
1015
1015
  */
1016
- export declare const Sub: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"sub", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"sub">) & {
1016
+ export declare const Sub: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"sub", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"sub">) & {
1017
1017
  element: "sub";
1018
1018
  };
1019
1019
  /**
@@ -1022,7 +1022,7 @@ export declare const Sub: (<AdditionalProps extends Record<string, any> = Record
1022
1022
  * @param props Optional properties for the sup element.
1023
1023
  * @returns A sup element node.
1024
1024
  */
1025
- export declare const Sup: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"sup", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"sup">) & {
1025
+ export declare const Sup: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"sup", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"sup">) & {
1026
1026
  element: "sup";
1027
1027
  };
1028
1028
  /**
@@ -1031,7 +1031,7 @@ export declare const Sup: (<AdditionalProps extends Record<string, any> = Record
1031
1031
  * @param props Optional properties for the time element.
1032
1032
  * @returns A time element node.
1033
1033
  */
1034
- export declare const Time: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"time", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"time">) & {
1034
+ export declare const Time: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"time", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"time">) & {
1035
1035
  element: "time";
1036
1036
  };
1037
1037
  /**
@@ -1040,7 +1040,7 @@ export declare const Time: (<AdditionalProps extends Record<string, any> = Recor
1040
1040
  * @param props Optional properties for the u element.
1041
1041
  * @returns A u element node.
1042
1042
  */
1043
- export declare const U: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"u", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"u">) & {
1043
+ export declare const U: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"u", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"u">) & {
1044
1044
  element: "u";
1045
1045
  };
1046
1046
  /**
@@ -1049,7 +1049,7 @@ export declare const U: (<AdditionalProps extends Record<string, any> = Record<s
1049
1049
  * @param props Optional properties for the var element.
1050
1050
  * @returns A var element node.
1051
1051
  */
1052
- export declare const Var: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").NodeElement[] | import("../node.type").NodeElement, props?: Omit<import("../node.type").MergedProps<"var", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"var">) & {
1052
+ export declare const Var: (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: import("../node.type").Children, props?: Omit<import("../node.type").MergedProps<"var", AdditionalProps>, "children"> | undefined) => import("../node.type").NodeInstance<"var">) & {
1053
1053
  element: "var";
1054
1054
  };
1055
1055
  /**
@@ -1,5 +1,5 @@
1
1
  import React, { type ElementType, type ReactElement, type ReactNode } from 'react';
2
- import type { FinalNodeProps, HasRequiredProps, MergedProps, NodeElement, NodeInstance, NodeProps, PropsOf, RawNodeProps, Theme } from './node.type.js';
2
+ import type { Children, FinalNodeProps, HasRequiredProps, MergedProps, NodeElement, NodeInstance, NodeProps, PropsOf, RawNodeProps, Theme } from './node.type.js';
3
3
  import { type Root as ReactDOMRoot } from 'react-dom/client';
4
4
  /**
5
5
  * Represents a node in a React component tree with theme and styling capabilities.
@@ -27,6 +27,8 @@ export declare class BaseNode<E extends NodeElement> implements NodeInstance<E>
27
27
  private _childrenHash?;
28
28
  /** Cache for normalized children */
29
29
  private _normalizedChildren?;
30
+ /** Indicates whether the code is running on the server (true) or client (false) */
31
+ private static _isServer;
30
32
  /**
31
33
  * WeakMap cache for processed children, keyed by object/array identity for GC friendliness.
32
34
  * Each entry stores the hash, processed children, and a server-side flag.
@@ -145,7 +147,7 @@ export declare class BaseNode<E extends NodeElement> implements NodeInstance<E>
145
147
  * @private
146
148
  * @static
147
149
  */
148
- static _renderProcessedNode(processedElement: NodeElement, passedTheme: Theme | undefined, passedKey: string | undefined): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | ReactElement<unknown, string | React.JSXElementConstructor<any>> | React.ReactPortal | null | undefined> | ReactElement<any, string | React.JSXElementConstructor<any>> | null | undefined;
150
+ static _renderProcessedNode(processedElement: NodeElement, passedTheme: Theme | undefined, passedKey?: string): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | ReactElement<unknown, string | React.JSXElementConstructor<any>> | React.ReactPortal | null | undefined> | ReactElement<any, string | React.JSXElementConstructor<any>> | null | undefined;
149
151
  /**
150
152
  * Renders the output of a function-as-a-child, ensuring theme propagation.
151
153
  *
@@ -155,7 +157,6 @@ export declare class BaseNode<E extends NodeElement> implements NodeInstance<E>
155
157
  * @param props The properties for the function renderer.
156
158
  * @param props.render The function to execute to get the child content.
157
159
  * @param props.passedTheme The theme to propagate to the rendered child.
158
- * @param props.passedKey The React key to assign to the rendered node.
159
160
  * @param props.processRawNode A reference to the `_processRawNode` method for recursive processing.
160
161
  * @returns The rendered `ReactNode`.
161
162
  * @private
@@ -299,9 +300,9 @@ export declare function createNode<AdditionalInitialProps extends Record<string,
299
300
  * const Text = createChildrenFirstNode('p');
300
301
  * const myDiv = Text('Hello', { className: 'text-lg' });
301
302
  */
302
- export declare function createChildrenFirstNode<AdditionalInitialProps extends Record<string, any>, E extends ElementType>(element: E, initialProps?: Omit<NodeProps<E>, keyof AdditionalInitialProps | 'children'> & AdditionalInitialProps): HasRequiredProps<PropsOf<E>> extends true ? (<AdditionalProps extends Record<string, any> = Record<string, any>>(children: NodeElement | NodeElement[], props: Omit<MergedProps<E, AdditionalProps>, 'children'>) => NodeInstance<E>) & {
303
+ export declare function createChildrenFirstNode<AdditionalInitialProps extends Record<string, any>, E extends ElementType>(element: E, initialProps?: Omit<NodeProps<E>, keyof AdditionalInitialProps | 'children'> & AdditionalInitialProps): HasRequiredProps<PropsOf<E>> extends true ? (<AdditionalProps extends Record<string, any> = Record<string, any>>(children: Children, props: Omit<MergedProps<E, AdditionalProps>, 'children'>) => NodeInstance<E>) & {
303
304
  element: E;
304
- } : (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: NodeElement | NodeElement[], props?: Omit<MergedProps<E, AdditionalProps>, 'children'>) => NodeInstance<E>) & {
305
+ } : (<AdditionalProps extends Record<string, any> = Record<string, any>>(children?: Children, props?: Omit<MergedProps<E, AdditionalProps>, 'children'>) => NodeInstance<E>) & {
305
306
  element: E;
306
307
  };
307
308
  //# sourceMappingURL=core.node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.node.d.ts","sourceRoot":"","sources":["../src/core.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.node.d.ts","sourceRoot":"","sources":["../src/core.node.ts"],"names":[],"mappings":"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"}
package/dist/core.node.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var _excluded=["ref","key","children","nodetheme","theme","props"],_excluded2=["style"],_excluded3=["style","css"],_excluded4=["style"],_excluded5=["children","key","nativeProps"];function _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],-1===b.indexOf(c)&&{}.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c={};for(var d in a)if({}.hasOwnProperty.call(a,d)){if(-1!==b.indexOf(d))continue;c[d]=a[d]}return c}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!=_typeof(a)||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}import React,{createElement,Fragment,isValidElement}from"react";import{createStableHash,isNodeInstance,resolveDefaultStyle}from"./helper/node.helper.js";import{isForwardRef,isFragment,isMemo,isReactClassComponent,isValidElementType}from"./helper/react-is.helper.js";import{createRoot}from"react-dom/client";import{getComponentType,getCSSProps,getDOMProps,getElementTypeName,hasNoStyleTag}from"./helper/common.helper.js";import StyledRenderer from"./components/styled-renderer.client.js";import{resolveObjWithTheme}from"./helper/theme.helper.js";/**
1
+ "use strict";var _excluded=["ref","key","children","nodetheme","theme","props"],_excluded2=["style"],_excluded3=["style","css"],_excluded4=["style"],_excluded5=["children","key","nativeProps"];function _objectWithoutProperties(a,b){if(null==a)return{};var c,d,e=_objectWithoutPropertiesLoose(a,b);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(a);for(d=0;d<f.length;d++)c=f[d],-1===b.indexOf(c)&&{}.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e}function _objectWithoutPropertiesLoose(a,b){if(null==a)return{};var c={};for(var d in a)if({}.hasOwnProperty.call(a,d)){if(-1!==b.indexOf(d))continue;c[d]=a[d]}return c}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _defineProperty(a,b,c){return(b=_toPropertyKey(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"==_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!=_typeof(a)||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}import React,{createElement,Fragment,isValidElement}from"react";import{createStableHash,isNodeInstance,resolveDefaultStyle}from"./helper/node.helper.js";import{isForwardRef,isFragment,isMemo,isReactClassComponent,isValidElementType}from"./helper/react-is.helper.js";import{createRoot}from"react-dom/client";import{getComponentType,getCSSProps,getDOMProps,getElementTypeName,hasNoStyleTag,omit,omitUndefined}from"./helper/common.helper.js";import StyledRenderer from"./components/styled-renderer.client.js";import{resolveObjWithTheme}from"./helper/theme.helper.js";/**
2
2
  * Represents a node in a React component tree with theme and styling capabilities.
3
3
  * This class wraps React elements and handles:
4
4
  * - Props processing and normalization
@@ -64,9 +64,10 @@ return a}),this.element=a,this.rawProps=c}/**
64
64
  * @returns The processed `FinalNodeProps` object.
65
65
  * @private
66
66
  */_processProps(){// Destructure raw props into relevant parts
67
- var a=this.rawProps,b=a.ref,c=a.key,d=a.children,e=a.nodetheme,f=a.theme,g=a.props,h=void 0===g?{}:g,i=_objectWithoutProperties(a,_excluded),j=f||e,k=h,l=k.style,m=_objectWithoutProperties(k,_excluded2),n=resolveObjWithTheme(i,j),o=resolveObjWithTheme(l,j),p=n.style,q=n.css,r=_objectWithoutProperties(n,_excluded3),s=getCSSProps(r),t=getDOMProps(r),u=resolveDefaultStyle(_objectSpread(_objectSpread({},s),p)),v=this._processChildren(d,j);// Process children while maintaining theme inheritance
67
+ var a=this.rawProps,b=a.ref,c=a.key,d=a.children,e=a.nodetheme,f=a.theme,g=a.props,h=void 0===g?{}:g,i=_objectWithoutProperties(a,_excluded),j=f||e,k=h,l=k.style,m=_objectWithoutProperties(k,_excluded2),n=resolveObjWithTheme(i,j),o=resolveObjWithTheme(l,j),p=n.style,q=n.css,r=_objectWithoutProperties(n,_excluded3),s=getCSSProps(r),t=getDOMProps(r),u=resolveDefaultStyle(_objectSpread(_objectSpread({},s),p)),v=this._processChildren(d,j),w=omitUndefined(_objectSpread(_objectSpread({ref:b,key:c,nodetheme:j,theme:f,css:_objectSpread(_objectSpread({},u),q),style:o},t),{},{nativeProps:m,children:v}));// Process children while maintaining theme inheritance
68
68
  // Combine processed props into final normalized form
69
- return _objectSpread(_objectSpread({ref:b,key:c,nodetheme:j,theme:f,css:_objectSpread(_objectSpread({},u),q),style:o},t),{},{nativeProps:m,children:v})}/**
69
+ // Special handling for standard HTML tags vs custom components
70
+ return"string"==typeof this.element&&(hasNoStyleTag(this.element)?w=omit(w,"css","style","theme","nodetheme"):w=omit(w,"theme","nodetheme")),w}/**
70
71
  * Deeply clones processed children before returning them from cache so that each parent receives
71
72
  * independent `BaseNode` instances (prevents sharing cycles and mutation bugs).
72
73
  *
@@ -93,7 +94,7 @@ return _objectSpread(_objectSpread({ref:b,key:c,nodetheme:j,theme:f,css:_objectS
93
94
  * @param theme The theme context that may influence child processing.
94
95
  * @returns A cloned version of the cached processed children if available, otherwise `null`.
95
96
  * @private
96
- */_getCachedChildren(a,b){if("undefined"==typeof window)return null;// No server caching
97
+ */_getCachedChildren(a,b){if(BaseNode._isServer)return null;// No server caching
97
98
  // Compute hash once
98
99
  var c=createStableHash(a,b);// If children is an object (array or object), try identity-keyed WeakMap first
99
100
  if(a&&"object"===_typeof(a)){var d=BaseNode._processedChildrenWeakCache.get(a);if(d&&d.hash===c&&!d.isServerSide)return BaseNode._cloneProcessedChildren(d.children)}// Fallback to string-hash Map cache
@@ -106,7 +107,7 @@ var e=BaseNode._processedChildrenMapCache.get(c);return e&&!e.isServerSide?BaseN
106
107
  * @param theme The theme associated with the children.
107
108
  * @param processed The processed NodeElement(s) to cache.
108
109
  * @private
109
- */_setCachedChildren(a,b,c){if("undefined"!=typeof window){var d=createStableHash(a,b);if(a&&"object"===_typeof(a))return void BaseNode._processedChildrenWeakCache.set(a,{hash:d,children:c,isServerSide:!1});// Manage bounded Map cache (FIFO eviction)
110
+ */_setCachedChildren(a,b,c){if(!BaseNode._isServer){var d=createStableHash(a,b);if(a&&"object"===_typeof(a))return void BaseNode._processedChildrenWeakCache.set(a,{hash:d,children:c,isServerSide:!1});// Manage bounded Map cache (FIFO eviction)
110
111
  if(BaseNode._processedChildrenMapCache.has(d))return void BaseNode._processedChildrenMapCache.set(d,{children:c,isServerSide:!1});if(BaseNode._processedChildrenMapCache.size>=BaseNode._MAX_PROCESSED_CHILDREN_CACHE){var e=BaseNode._processedChildrenMapCache.keys().next().value;void 0!==e&&BaseNode._processedChildrenMapCache["delete"](e)}BaseNode._processedChildrenMapCache.set(d,{children:c,isServerSide:!1})}}/**
111
112
  * Recursively processes raw children, converting them into `BaseNode` instances as needed
112
113
  * and propagating the provided theme.
@@ -123,7 +124,7 @@ if(BaseNode._processedChildrenMapCache.has(d))return void BaseNode._processedChi
123
124
  * @private
124
125
  */_processChildren(a,b){var c=this;if(a){// Use RSC-safe caching strategy
125
126
  var d=this._getCachedChildren(a,b);if(d)return d;var e=Array.isArray(a)?a.map(function(a,d){return c._processRawNode(a,b,d)}):this._processRawNode(a,b);// Only cache on client-side
126
- return"undefined"!=typeof window&&this._setCachedChildren(a,b,e),e}}/**
127
+ return BaseNode._isServer||this._setCachedChildren(a,b,e),e}}/**
127
128
  * Renders a processed `NodeElement` into a `ReactNode`, applying a theme and key if necessary.
128
129
  *
129
130
  * This static method centralizes the logic for converting various types of processed elements
@@ -155,15 +156,14 @@ return isReactClassComponent(a)?new BaseNode(a,d).render():isNodeInstance(a)?a.r
155
156
  * @param props The properties for the function renderer.
156
157
  * @param props.render The function to execute to get the child content.
157
158
  * @param props.passedTheme The theme to propagate to the rendered child.
158
- * @param props.passedKey The React key to assign to the rendered node.
159
159
  * @param props.processRawNode A reference to the `_processRawNode` method for recursive processing.
160
160
  * @returns The rendered `ReactNode`.
161
161
  * @private
162
- */_functionRenderer(a){var b,c=a.render,d=a.passedTheme,e=a.passedKey,f=a.processRawNode;// Invoke the render function to get the child node.
162
+ */_functionRenderer(a){var b,c=a.render,d=a.passedTheme,e=a.processRawNode;// Invoke the render function to get the child node.
163
163
  try{b=c()}catch(a){b=null}// Handle React.Component instance
164
- if(b instanceof React.Component){var g=b.render(),h=f(g,d);return BaseNode._renderProcessedNode(h,d,e)}// Handle BaseNode instance
165
- if(b instanceof BaseNode||isNodeInstance(b)){var i,j=b;return void 0===(null===(i=j.rawProps)||void 0===i?void 0:i.nodetheme)&&void 0!==d?new BaseNode(j.element,_objectSpread(_objectSpread({key:e},j.rawProps),{},{nodetheme:d})).render():j.render()}// Process other result types
166
- var k=f(b,d);return k?BaseNode._renderProcessedNode(k,d,e):b}/**
164
+ if(b instanceof React.Component){var f=b.render(),g=e(f,d);return BaseNode._renderProcessedNode(g,d)}// Handle BaseNode instance
165
+ if(b instanceof BaseNode||isNodeInstance(b)){var h,i=b;return void 0===(null===(h=i.rawProps)||void 0===h?void 0:h.nodetheme)&&void 0!==d?new BaseNode(i.element,_objectSpread(_objectSpread({},i.rawProps),{},{nodetheme:d})).render():i.render()}// Process other result types
166
+ var j=e(b,d);return j?BaseNode._renderProcessedNode(j,d):b}/**
167
167
  * Processes a single raw node, recursively converting it into a `BaseNode` or other renderable type.
168
168
  *
169
169
  * This is a central method for normalizing children. It handles various types of input:
@@ -220,12 +220,15 @@ return a}/**
220
220
  * @returns The rendered `ReactElement`.
221
221
  * @throws {Error} If the node's `element` is not a valid React element type.
222
222
  */render(){var a=this;if(!isValidElementType(this.element)){var b=getComponentType(this.element);throw new Error("Invalid element type: ".concat(b," provided!"))}// Extract children and key
223
- var c=this.props,d=c.children,e=c.key,f=c.nativeProps,g=_objectWithoutProperties(c,_excluded5),h=void 0;if(void 0!==d&&null!==d){if(!this._normalizedChildren||this._childrenHash!==createStableHash(d,this.props.nodetheme||this.props.theme))if(!Array.isArray(d))this._normalizedChildren=this._normalizeChild(d);else if(0<d.length){var i=d.map(function(b){return a._normalizeChild(b)});this._normalizedChildren=i.every(function(a){return null===a||void 0===a})?void 0:i}else this._normalizedChildren=void 0;h=this._normalizedChildren}// Prepare props for React.createElement
224
- var j;// If the element has a `css` prop and has style tag, render using the `StyledRenderer` component
223
+ var c=this.props,d=c.children,e=c.key,f=c.nativeProps,g=_objectWithoutProperties(c,_excluded5),h=void 0;if(d!==void 0&&null!==d){if(!this._normalizedChildren||this._childrenHash!==createStableHash(d,this.props.nodetheme||this.props.theme))if(!Array.isArray(d))this._normalizedChildren=this._normalizeChild(d);else if(0<d.length){var i=d.map(function(b){return a._normalizeChild(b)});this._normalizedChildren=i.every(function(a){return null===a||void 0===a})?void 0:i}else this._normalizedChildren=void 0;h=this._normalizedChildren}// If the element is a Fragment, use React.createElement directly
224
+ if(this.element===Fragment||isFragment(this.element))return createElement(this.element,{key:e},h);// If the element has a `css` prop and has style tag, render using the `StyledRenderer` component
225
225
  // This enables emotion-based style handling for the element
226
- if(j=this.element===Fragment||isFragment(this.element)?{key:e}:_objectSpread(_objectSpread(_objectSpread({},g),{},{key:e},f),{},{suppressHydrationWarning:!0}),this.element&&!hasNoStyleTag(this.element)&&j.css){var k=_objectSpread({element:this.element},j);try{var l=getElementTypeName(k.element);StyledRenderer.displayName="Styled(".concat(l,")")}catch(a){// swallow: displayName is not critical
227
- }return createElement(StyledRenderer,k,h)}try{this.element.displayName=getElementTypeName(this.element)}catch(a){// swallow: displayName is not critical
228
- }return createElement(this.element,j,h)}/**
226
+ if(this.element&&!hasNoStyleTag(this.element)&&g.css){// Set displayName for easier debugging in React DevTools
227
+ try{var j=getElementTypeName(this.element);StyledRenderer.displayName="Styled(".concat(j,")")}catch(a){// swallow: displayName is not critical
228
+ }return createElement(StyledRenderer,_objectSpread(_objectSpread({element:this.element},g),{},{key:e,suppressHydrationWarning:!0},f),h)}// For other elements, create the React element directly
229
+ // Set displayName for easier debugging in React DevTools
230
+ try{this.element.displayName=getElementTypeName(this.element)}catch(a){// swallow: displayName is not critical
231
+ }return createElement(this.element,_objectSpread(_objectSpread({},g),{},{key:e},f),h)}/**
229
232
  * Ensures the necessary DOM elements for portal rendering are created and attached.
230
233
  *
231
234
  * On the client-side, this method checks for or creates a `div` element appended
@@ -234,7 +237,7 @@ if(j=this.element===Fragment||isFragment(this.element)?{key:e}:_objectSpread(_ob
234
237
  * to call multiple times.
235
238
  * @returns `true` if the portal infrastructure is ready, `false` if on the server.
236
239
  * @private
237
- */_ensurePortalInfrastructure(){if("undefined"==typeof window)return!1;// If both exist and DOM is connected, we're ready
240
+ */_ensurePortalInfrastructure(){if(BaseNode._isServer)return!1;// If both exist and DOM is connected, we're ready
238
241
  if(this._portalDOMElement&&this._portalReactRoot&&this._portalDOMElement.isConnected)return!0;// If DOM element exists but isn't connected, clear both DOM element and root
239
242
  if(this._portalDOMElement&&!this._portalDOMElement.isConnected){// attempt to unmount root if present
240
243
  if(this._portalReactRoot){try{this._portalReactRoot.unmount()}catch(a){// swallow: unmount might fail if already removed; avoid breaking the app
@@ -251,7 +254,11 @@ if(this._portalDOMElement||(this._portalDOMElement=document.createElement("div")
251
254
  * @returns A `ReactDOMRoot` instance for managing the portal, or `null` if
252
255
  * called in a server-side environment. The returned instance is enhanced
253
256
  * with a custom `unmount` method that also cleans up the associated DOM element.
254
- */toPortal(){var a=this;if(!this._ensurePortalInfrastructure()||!this._portalReactRoot)return null;var b=this.render();return this._portalReactRoot.render(b),_objectSpread(_objectSpread({},this._portalReactRoot),{},{unmount:function unmount(){a._portalReactRoot&&(a._portalReactRoot.unmount(),a._portalReactRoot=null),a._portalDOMElement&&(a._portalDOMElement.parentNode&&a._portalDOMElement.parentNode.removeChild(a._portalDOMElement),a._portalDOMElement=null)}})}}/**
257
+ */toPortal(){var a=this;if(!this._ensurePortalInfrastructure()||!this._portalReactRoot)return null;var b=this.render();this._portalReactRoot.render(b);// Augment the actual root's unmount to also clean up the DOM element and internal refs.
258
+ try{var c=this._portalReactRoot.unmount.bind(this._portalReactRoot);this._portalReactRoot.unmount=function(){try{c()}catch(a){// swallow: original unmount might throw in edge cases
259
+ }// Clear references and remove DOM element
260
+ a._portalDOMElement&&(a._portalDOMElement.parentNode&&a._portalDOMElement.parentNode.removeChild(a._portalDOMElement),a._portalDOMElement=null),a._portalReactRoot=null}}catch(a){// swallow: if anything goes wrong while patching, still return the root
261
+ }return this._portalReactRoot}}/**
255
262
  * Factory function to create a `BaseNode` instance.
256
263
  * @template AdditionalProps Additional props to merge with node props.
257
264
  * @template E The React element or component type.
@@ -259,7 +266,7 @@ if(this._portalDOMElement||(this._portalDOMElement=document.createElement("div")
259
266
  * @param props The props for the node (optional).
260
267
  * @param additionalProps Additional props to merge into the node (optional).
261
268
  * @returns A new `BaseNode` instance as a `NodeInstance<E>`.
262
- */_defineProperty(BaseNode,"_processedChildrenWeakCache",new WeakMap),_defineProperty(BaseNode,"_processedChildrenMapCache",new Map),_defineProperty(BaseNode,"_MAX_PROCESSED_CHILDREN_CACHE",1e3);export function Node(a){var b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},d=_objectSpread(_objectSpread({},b),c);return d.theme&&!d.nodetheme&&(d.nodetheme=d.theme),new BaseNode(a,d)}/**
269
+ */_defineProperty(BaseNode,"_isServer","undefined"==typeof window),_defineProperty(BaseNode,"_processedChildrenWeakCache",new WeakMap),_defineProperty(BaseNode,"_processedChildrenMapCache",new Map),_defineProperty(BaseNode,"_MAX_PROCESSED_CHILDREN_CACHE",1e3);export function Node(a){var b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},d=_objectSpread(_objectSpread({},b),c);return d.theme&&!d.nodetheme&&(d.nodetheme=d.theme),new BaseNode(a,d)}/**
263
270
  * Creates a curried node factory for a given React element or component type.
264
271
  *
265
272
  * Returns a function that, when called with props, produces a `NodeInstance<E>`.
@@ -77,4 +77,17 @@ export declare function getDOMProps<E extends ElementType, T extends ComponentPr
77
77
  * @returns `true` if the tag is in the no-style set, otherwise `false`.
78
78
  */
79
79
  export declare function hasNoStyleTag(tag?: NodeElement): boolean;
80
+ /**
81
+ * Returns a shallow copy of the object with the specified keys omitted.
82
+ * @param obj The source object.
83
+ * @param keys The property keys to omit.
84
+ * @returns A new object without the omitted keys.
85
+ */
86
+ export declare function omit<T extends object, K extends keyof T>(obj: T, ...keys: K[]): Omit<T, K>;
87
+ /**
88
+ * Removes keys from an object whose values are `undefined`.
89
+ * @param obj The source object.
90
+ * @returns A new object without keys that have `undefined` values.
91
+ */
92
+ export declare function omitUndefined<T extends object>(obj: T): Partial<T>;
80
93
  //# sourceMappingURL=common.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.helper.d.ts","sourceRoot":"","sources":["../../src/helper/common.helper.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAGvE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,iCAE1B,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,qCAmC5B,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAsFxD;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,GAAG,CAAC,MAAM,CAA0B,CAAA;AAEjE;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAU3F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAUjH;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO,CAGxD"}
1
+ {"version":3,"file":"common.helper.d.ts","sourceRoot":"","sources":["../../src/helper/common.helper.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAGvE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,iCAE1B,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,qCAmC5B,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAsFxD;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,GAAG,CAAC,MAAM,CAA0B,CAAA;AAEjE;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAU3F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAUjH;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO,CAGxD;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAQ1F;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAQlE"}
@@ -61,4 +61,13 @@ function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof
61
61
  * Checks if a given tag is in the set of tags that should not receive style props.
62
62
  * @param tag The tag name to check (e.g., 'script', 'style').
63
63
  * @returns `true` if the tag is in the no-style set, otherwise `false`.
64
- */export function hasNoStyleTag(a){return!!(a&&"string"==typeof a)&&noStyleTagsSet.has(a.toLowerCase())}
64
+ */export function hasNoStyleTag(a){return!!(a&&"string"==typeof a)&&noStyleTagsSet.has(a.toLowerCase())}/**
65
+ * Returns a shallow copy of the object with the specified keys omitted.
66
+ * @param obj The source object.
67
+ * @param keys The property keys to omit.
68
+ * @returns A new object without the omitted keys.
69
+ */export function omit(a){for(var b={},c=arguments.length,d=Array(1<c?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];for(var f in a)Object.prototype.hasOwnProperty.call(a,f)&&!d.includes(f)&&(b[f]=a[f]);return b}/**
70
+ * Removes keys from an object whose values are `undefined`.
71
+ * @param obj The source object.
72
+ * @returns A new object without keys that have `undefined` values.
73
+ */export function omitUndefined(a){var b={};for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&void 0!==a[c]&&(b[c]=a[c]);return b}
@@ -1,5 +1,5 @@
1
1
  import type { CSSProperties } from 'react';
2
- import type { NodeElement, NodeInstance, Theme } from '../node.type.js';
2
+ import type { Children, NodeInstance, Theme } from '../node.type.js';
3
3
  /**
4
4
  * Type guard to check if an object is a NodeInstance.
5
5
  *
@@ -902,5 +902,5 @@ export declare const resolveDefaultStyle: (style: CSSProperties) => {
902
902
  * hash function (fnv1a, xxhash, etc.). Returning the full signature is useful
903
903
  * for debugging and deterministic comparisons.
904
904
  */
905
- export declare function createStableHash(children: NodeElement | NodeElement[], theme?: Theme): string;
905
+ export declare function createStableHash(children: Children, theme?: Theme): string;
906
906
  //# sourceMappingURL=node.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.helper.d.ts","sourceRoot":"","sources":["../../src/helper/node.helper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAIzE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,4CAS1B,CAAA;AA4DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiE/B,CAAA;AAiGD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,UAIpF"}
1
+ {"version":3,"file":"node.helper.d.ts","sourceRoot":"","sources":["../../src/helper/node.helper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAItE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,4CAS1B,CAAA;AA4DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiE/B,CAAA;AAiGD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,UAIjE"}
@@ -1,4 +1,4 @@
1
- import type { ComponentNode, HasCSSCompatibleStyleProp, NodeElement, Theme } from '../node.type.js';
1
+ import type { Children, ComponentNode, HasCSSCompatibleStyleProp, Theme } from '../node.type.js';
2
2
  import { type CSSProperties, type ReactElement } from 'react';
3
3
  /**
4
4
  * Props definition for components wrapped using the `Component` higher-order function.
@@ -15,11 +15,11 @@ import { type CSSProperties, type ReactElement } from 'react';
15
15
  * If the component supports inline styles (determined via `HasCSSCompatibleStyleProp`), the props also allow `CSSProperties`.
16
16
  */
17
17
  export type ComponentNodeProps<TProps> = TProps extends undefined ? Partial<{
18
- children: NodeElement | NodeElement[];
18
+ children: Children;
19
19
  theme: Theme;
20
20
  }> : TProps & (HasCSSCompatibleStyleProp<TProps> extends true ? CSSProperties : object) & Partial<{
21
21
  props: Partial<Omit<TProps, 'children'>>;
22
- children: NodeElement | NodeElement[];
22
+ children: Children;
23
23
  theme: Theme;
24
24
  }>;
25
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"component.hoc.d.ts","sourceRoot":"","sources":["../../src/hoc/component.hoc.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACrG,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAA;AAG7E;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,kBAAkB,CAAC,MAAM,IAAI,MAAM,SAAS,SAAS,GAC7D,OAAO,CAAC;IACN,QAAQ,EAAE,WAAW,GAAG,WAAW,EAAE,CAAA;IACrC,KAAK,EAAE,KAAK,CAAA;CACb,CAAC,GACF,MAAM,GACJ,CAAC,yBAAyB,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,aAAa,GAAG,MAAM,CAAC,GACzE,OAAO,CAAC;IACN,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;IACxC,QAAQ,EAAE,WAAW,GAAG,WAAW,EAAE,CAAA;IACrC,KAAK,EAAE,KAAK,CAAA;CACb,CAAC,CAAA;AAER;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,MAAM,SAAS,SAAS,EAChD,SAAS,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,aAAa,GAC9D,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;AAExF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1D,SAAS,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,aAAa,GAC9D,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"component.hoc.d.ts","sourceRoot":"","sources":["../../src/hoc/component.hoc.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAClG,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAA;AAG7E;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,kBAAkB,CAAC,MAAM,IAAI,MAAM,SAAS,SAAS,GAC7D,OAAO,CAAC;IACN,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,KAAK,CAAA;CACb,CAAC,GACF,MAAM,GACJ,CAAC,yBAAyB,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,aAAa,GAAG,MAAM,CAAC,GACzE,OAAO,CAAC;IACN,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;IACxC,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,KAAK,CAAA;CACb,CAAC,CAAA;AAER;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,MAAM,SAAS,SAAS,EAChD,SAAS,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,aAAa,GAC9D,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;AAExF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1D,SAAS,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,aAAa,GAC9D,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import React, { type Attributes as ReactAttributes, type CSSProperties, type ReactNode, type JSX, type ElementType, type ComponentType, type JSXElementConstructor, type Component, type ExoticComponent, type ReactElement } from 'react';
1
+ import React, { type CSSProperties, type ReactNode, type JSX, type ElementType, type ComponentType, type JSXElementConstructor, type Component, type ExoticComponent, type ReactElement } from 'react';
2
2
  import type { Root as ReactDOMRoot } from 'react-dom/client';
3
3
  import type { CSSInterpolation } from '@emotion/serialize';
4
4
  import type { NO_STYLE_TAGS } from './constants/common.const.js';
@@ -9,6 +9,10 @@ type RequiredKeys<T> = {
9
9
  }[keyof T];
10
10
  // Utility to check if a type T has any required properties.
11
11
  export type HasRequiredProps<T> = RequiredKeys<T> extends never ? false : true;
12
+ /** Basic React attributes, currently only includes 'key' */
13
+ export interface ReactAttributes {
14
+ key?: string;
15
+ }
12
16
  /**
13
17
  * Excludes array types from ReactNode, ensuring a single, non-array React element or primitive.
14
18
  */
@@ -18,6 +22,8 @@ export type NonArrayReactNode = Exclude<ReactNode, ReactNode[]>;
18
22
  * This includes React elements, components, promises resolving to React nodes, and NodeInstance objects.
19
23
  */
20
24
  export type NodeElement = ExoticComponent<any> | NonArrayReactNode | Promise<Awaited<NonArrayReactNode>> | Component<any, any, any> | ElementType | ComponentType<any> | NodeInstance<any> | ((props?: any) => NonArrayReactNode | Promise<Awaited<NonArrayReactNode>> | Component<any, any, any> | NodeInstance<any> | ComponentNode);
25
+ /** A single NodeElement or an array of NodeElements */
26
+ export type Children = NodeElement | NodeElement[];
21
27
  /**
22
28
  * Forward declaration of the BaseNode interface to avoid circular dependencies.
23
29
  * Defines the core structure and capabilities of a BaseNode instance.
@@ -67,11 +73,10 @@ export type Theme = Partial<{
67
73
  */
68
74
  export type FinalNodeProps = ReactAttributes & Partial<{
69
75
  nativeProps: Omit<Omit<PropsOf<NodeElement>, 'children'>, 'style'>;
70
- key: React.Key | any | null | undefined;
71
76
  ref: any | React.Ref<unknown> | undefined;
72
77
  style: any;
73
78
  css: any;
74
- children: NodeElement | NodeElement[];
79
+ children: Children;
75
80
  theme: Partial<{
76
81
  [p: string]: any;
77
82
  }> | any | undefined;
@@ -105,11 +110,11 @@ export type HasNoStyleProp<E extends NodeElement> = E extends NoStyleTags ? true
105
110
  * - Maintains React's key prop for reconciliation
106
111
  * @template E - The element type these props apply to
107
112
  */
108
- export type NodeProps<E extends NodeElement> = Omit<PropsOf<E>, keyof CSSProperties | 'children' | 'style' | 'theme' | 'props'> & ReactAttributes & (HasCSSCompatibleStyleProp<PropsOf<E>> extends true ? CSSProperties : object) & (HasNoStyleProp<E> extends true ? Partial<{
113
+ export type NodeProps<E extends NodeElement> = Omit<PropsOf<E>, keyof CSSProperties | 'children' | 'style' | 'theme' | 'props' | 'key'> & ReactAttributes & (HasCSSCompatibleStyleProp<PropsOf<E>> extends true ? CSSProperties : object) & (HasNoStyleProp<E> extends true ? Partial<{
109
114
  css: CSSInterpolation;
110
115
  }> : object) & Partial<{
111
116
  props: Partial<Omit<PropsOf<E>, 'children'>>;
112
- children: NodeElement | NodeElement[];
117
+ children: Children;
113
118
  theme: Theme;
114
119
  }>;
115
120
  /**
@@ -134,8 +139,6 @@ export interface FunctionRendererProps<E extends NodeElement> {
134
139
  render: (props?: NodeProps<E>) => ReactNode | Promise<Awaited<ReactNode>> | React.Component | NodeInstance<E>;
135
140
  /** Theme context to be applied to the rendered content */
136
141
  passedTheme?: Theme;
137
- /** Optional key prop to help React identify unique instances in lists */
138
- passedKey?: string;
139
142
  processRawNode: (node: NodeElement, parentTheme?: Theme, childIndex?: number) => NodeElement;
140
143
  }
141
144
  export type ComponentNode = (NodeInstance<any> | ReactNode) | (() => NodeInstance<any> | ReactNode);
@@ -147,7 +150,7 @@ export type ComponentNode = (NodeInstance<any> | ReactNode) | (() => NodeInstanc
147
150
  */
148
151
  export interface BasePortalProps {
149
152
  /** Content to render within the portal */
150
- children?: NodeElement | NodeElement[];
153
+ children?: Children;
151
154
  /** Portal control object containing lifecycle methods */
152
155
  portal: {
153
156
  /** Unmounts and cleans up the portal */
@@ -1 +1 @@
1
- {"version":3,"file":"node.type.d.ts","sourceRoot":"","sources":["../src/node.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.type.d.ts","sourceRoot":"","sources":["../src/node.type.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EACZ,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,GAAG,EACR,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAEnE,wBAAwB;AACxB,0DAA0D;AAC1D,KAAK,YAAY,CAAC,CAAC,IAAI;KACpB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;CACxD,CAAC,MAAM,CAAC,CAAC,CAAA;AAEV,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,IAAI,CAAA;AAE9E,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;AAE/D;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,eAAe,CAAC,GAAG,CAAC,GACpB,iBAAiB,GACjB,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GACnC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACxB,WAAW,GACX,aAAa,CAAC,GAAG,CAAC,GAClB,YAAY,CAAC,GAAG,CAAC,GACjB,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,CAAA;AAE7I,uDAAuD;AACvD,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,WAAW,EAAE,CAAA;AAElD;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IAC/D,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IAEnB,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IAElC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;IAEzB,uEAAuE;IACvE,MAAM,IAAI,YAAY,CAAA;IAEtB,qFAAqF;IACrF,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAA;CAChC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,iBAAiB,GAC9E,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GACxB,CAAC,SAAS,qBAAqB,CAAC,MAAM,CAAC,CAAC,GACtC,CAAC,GACD,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,GAC1B,CAAC,GACD,KAAK,CAAA;AAEb;;;;;;;;GAQG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,CAAC,CAAA;CACvJ,CAAC,CAAA;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,eAAe,GAC1C,OAAO,CAAC;IACN,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAA;IAClE,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IACzC,KAAK,EAAE,GAAG,CAAA;IACV,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,OAAO,CAAC;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,GAAG,GAAG,GAAG,SAAS,CAAA;IACtD,SAAS,EAAE,KAAK,CAAA;CACjB,CAAC,CAAA;AAEJ;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,8CAA8C;GACnH,CAAC,SAAS,aAAa,GAAG,SAAS,CAAC,iFAAiF;GACnH,IAAI,CAAC,2BAA2B;GAChC,KAAK,CAAC,oEAAoE;GAC5E,KAAK,CAAA,CAAC,4CAA4C;AAEtD,4DAA4D;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,WAAW,GAAG,IAAI,GAAG,KAAK,CAAA;AAExF;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC,GACrI,eAAe,GACf,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,aAAa,GAAG,MAAM,CAAC,GAC7E,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,gBAAgB,CAAA;CAAE,CAAC,GAAG,MAAM,CAAC,GAC9E,OAAO,CAAC;IACN,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAA;IAC5C,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,KAAK,CAAA;CACb,CAAC,CAAA;AAEJ;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAE/F;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,WAAW;IAC1D,wDAAwD;IACxD,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;IAE7G,0DAA0D;IAC1D,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,WAAW,CAAA;CAC7F;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;AAEnG;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAEnB,yDAAyD;IACzD,MAAM,EAAE;QACN,wCAAwC;QACxC,OAAO,EAAE,MAAM,IAAI,CAAA;KACpB,CAAA;CACF;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,eAAe,CAAA;AAE9F;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,eAAe,GACnG,CAAC,KAAK,CAAC,EAAE;IACP,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;CAC7B,KAAK,YAAY,GAAG,IAAI,GACzB,CACE,KAAK,EAAE,CAAC,GAAG;IACT,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;CAC7B,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAC/B,YAAY,GAAG,IAAI,CAAA;AAE5B;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,eAAe,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE,MAAM,eAAe,CAAC,GACvJ,eAAe,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@meonode/ui",
3
3
  "description": "A structured approach to component composition, direct CSS-first prop styling, built-in theming, smart prop handling (including raw property pass-through), and dynamic children.",
4
- "version": "0.2.15",
4
+ "version": "0.2.17",
5
5
  "type": "module",
6
6
  "main": "./dist/main.js",
7
7
  "types": "./dist/main.d.ts",
@@ -32,10 +32,10 @@
32
32
  "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --ci",
33
33
  "prebuild": "yarn lint && yarn test",
34
34
  "build": "yarn prebuild && rm -rf ./dist && babel src --out-dir dist --extensions \".ts,.tsx,.js\" && tsgo --project tsconfig.build.json --diagnostics && tsc-alias",
35
- "publish:pre": "./prepublish.sh && yarn version -i prerelease && yarn npm publish --tag next",
36
- "publish:patch": "./prepublish.sh && yarn version -i patch && yarn npm publish --tag latest",
37
- "publish:minor": "./prepublish.sh && yarn version -i minor && yarn npm publish --tag latest",
38
- "publish:major": "./prepublish.sh && yarn version -i major && yarn npm publish --tag latest",
35
+ "publish:pre": "./prepublish.sh && yarn build && yarn version -i prerelease && yarn npm publish --tag next",
36
+ "publish:patch": "./prepublish.sh && yarn build && yarn version -i patch && yarn npm publish --tag latest",
37
+ "publish:minor": "./prepublish.sh && yarn build && yarn version -i minor && yarn npm publish --tag latest",
38
+ "publish:major": "./prepublish.sh && yarn build && yarn version -i major && yarn npm publish --tag latest",
39
39
  "prepare": "husky"
40
40
  },
41
41
  "dependencies": {