@vaadin/react-components 25.4.0-alpha5 → 25.4.0-alpha6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/react-components",
3
- "version": "25.4.0-alpha5",
3
+ "version": "25.4.0-alpha6",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -21,70 +21,70 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "@lit/react": "^1.0.7",
24
- "@vaadin/a11y-base": "25.4.0-alpha5",
25
- "@vaadin/accordion": "25.4.0-alpha5",
26
- "@vaadin/app-layout": "25.4.0-alpha5",
27
- "@vaadin/avatar": "25.4.0-alpha5",
28
- "@vaadin/avatar-group": "25.4.0-alpha5",
29
- "@vaadin/badge": "25.4.0-alpha5",
30
- "@vaadin/breadcrumbs": "25.4.0-alpha5",
31
- "@vaadin/button": "25.4.0-alpha5",
32
- "@vaadin/card": "25.4.0-alpha5",
33
- "@vaadin/checkbox": "25.4.0-alpha5",
34
- "@vaadin/checkbox-group": "25.4.0-alpha5",
35
- "@vaadin/combo-box": "25.4.0-alpha5",
36
- "@vaadin/component-base": "25.4.0-alpha5",
37
- "@vaadin/confirm-dialog": "25.4.0-alpha5",
38
- "@vaadin/context-menu": "25.4.0-alpha5",
39
- "@vaadin/custom-field": "25.4.0-alpha5",
40
- "@vaadin/date-picker": "25.4.0-alpha5",
41
- "@vaadin/date-time-picker": "25.4.0-alpha5",
42
- "@vaadin/details": "25.4.0-alpha5",
43
- "@vaadin/dialog": "25.4.0-alpha5",
44
- "@vaadin/email-field": "25.4.0-alpha5",
45
- "@vaadin/field-base": "25.4.0-alpha5",
46
- "@vaadin/field-highlighter": "25.4.0-alpha5",
47
- "@vaadin/form-layout": "25.4.0-alpha5",
48
- "@vaadin/grid": "25.4.0-alpha5",
49
- "@vaadin/horizontal-layout": "25.4.0-alpha5",
50
- "@vaadin/icon": "25.4.0-alpha5",
51
- "@vaadin/icons": "25.4.0-alpha5",
52
- "@vaadin/input-container": "25.4.0-alpha5",
53
- "@vaadin/integer-field": "25.4.0-alpha5",
54
- "@vaadin/item": "25.4.0-alpha5",
55
- "@vaadin/list-box": "25.4.0-alpha5",
56
- "@vaadin/lit-renderer": "25.4.0-alpha5",
57
- "@vaadin/login": "25.4.0-alpha5",
58
- "@vaadin/markdown": "25.4.0-alpha5",
59
- "@vaadin/master-detail-layout": "25.4.0-alpha5",
60
- "@vaadin/menu-bar": "25.4.0-alpha5",
61
- "@vaadin/message-input": "25.4.0-alpha5",
62
- "@vaadin/message-list": "25.4.0-alpha5",
63
- "@vaadin/multi-select-combo-box": "25.4.0-alpha5",
64
- "@vaadin/notification": "25.4.0-alpha5",
65
- "@vaadin/number-field": "25.4.0-alpha5",
66
- "@vaadin/overlay": "25.4.0-alpha5",
67
- "@vaadin/password-field": "25.4.0-alpha5",
68
- "@vaadin/popover": "25.4.0-alpha5",
69
- "@vaadin/progress-bar": "25.4.0-alpha5",
70
- "@vaadin/radio-group": "25.4.0-alpha5",
71
- "@vaadin/scroller": "25.4.0-alpha5",
72
- "@vaadin/select": "25.4.0-alpha5",
73
- "@vaadin/side-nav": "25.4.0-alpha5",
74
- "@vaadin/slider": "25.4.0-alpha5",
75
- "@vaadin/split-layout": "25.4.0-alpha5",
76
- "@vaadin/switch": "25.4.0-alpha5",
77
- "@vaadin/tabs": "25.4.0-alpha5",
78
- "@vaadin/tabsheet": "25.4.0-alpha5",
79
- "@vaadin/text-area": "25.4.0-alpha5",
80
- "@vaadin/text-field": "25.4.0-alpha5",
81
- "@vaadin/time-picker": "25.4.0-alpha5",
82
- "@vaadin/tooltip": "25.4.0-alpha5",
83
- "@vaadin/upload": "25.4.0-alpha5",
84
- "@vaadin/vaadin-lumo-styles": "25.4.0-alpha5",
85
- "@vaadin/vaadin-themable-mixin": "25.4.0-alpha5",
86
- "@vaadin/vertical-layout": "25.4.0-alpha5",
87
- "@vaadin/virtual-list": "25.4.0-alpha5"
24
+ "@vaadin/a11y-base": "25.4.0-alpha6",
25
+ "@vaadin/accordion": "25.4.0-alpha6",
26
+ "@vaadin/app-layout": "25.4.0-alpha6",
27
+ "@vaadin/avatar": "25.4.0-alpha6",
28
+ "@vaadin/avatar-group": "25.4.0-alpha6",
29
+ "@vaadin/badge": "25.4.0-alpha6",
30
+ "@vaadin/breadcrumbs": "25.4.0-alpha6",
31
+ "@vaadin/button": "25.4.0-alpha6",
32
+ "@vaadin/card": "25.4.0-alpha6",
33
+ "@vaadin/checkbox": "25.4.0-alpha6",
34
+ "@vaadin/checkbox-group": "25.4.0-alpha6",
35
+ "@vaadin/combo-box": "25.4.0-alpha6",
36
+ "@vaadin/component-base": "25.4.0-alpha6",
37
+ "@vaadin/confirm-dialog": "25.4.0-alpha6",
38
+ "@vaadin/context-menu": "25.4.0-alpha6",
39
+ "@vaadin/custom-field": "25.4.0-alpha6",
40
+ "@vaadin/date-picker": "25.4.0-alpha6",
41
+ "@vaadin/date-time-picker": "25.4.0-alpha6",
42
+ "@vaadin/details": "25.4.0-alpha6",
43
+ "@vaadin/dialog": "25.4.0-alpha6",
44
+ "@vaadin/email-field": "25.4.0-alpha6",
45
+ "@vaadin/field-base": "25.4.0-alpha6",
46
+ "@vaadin/field-highlighter": "25.4.0-alpha6",
47
+ "@vaadin/form-layout": "25.4.0-alpha6",
48
+ "@vaadin/grid": "25.4.0-alpha6",
49
+ "@vaadin/horizontal-layout": "25.4.0-alpha6",
50
+ "@vaadin/icon": "25.4.0-alpha6",
51
+ "@vaadin/icons": "25.4.0-alpha6",
52
+ "@vaadin/input-container": "25.4.0-alpha6",
53
+ "@vaadin/integer-field": "25.4.0-alpha6",
54
+ "@vaadin/item": "25.4.0-alpha6",
55
+ "@vaadin/list-box": "25.4.0-alpha6",
56
+ "@vaadin/lit-renderer": "25.4.0-alpha6",
57
+ "@vaadin/login": "25.4.0-alpha6",
58
+ "@vaadin/markdown": "25.4.0-alpha6",
59
+ "@vaadin/master-detail-layout": "25.4.0-alpha6",
60
+ "@vaadin/menu-bar": "25.4.0-alpha6",
61
+ "@vaadin/message-input": "25.4.0-alpha6",
62
+ "@vaadin/message-list": "25.4.0-alpha6",
63
+ "@vaadin/multi-select-combo-box": "25.4.0-alpha6",
64
+ "@vaadin/notification": "25.4.0-alpha6",
65
+ "@vaadin/number-field": "25.4.0-alpha6",
66
+ "@vaadin/overlay": "25.4.0-alpha6",
67
+ "@vaadin/password-field": "25.4.0-alpha6",
68
+ "@vaadin/popover": "25.4.0-alpha6",
69
+ "@vaadin/progress-bar": "25.4.0-alpha6",
70
+ "@vaadin/radio-group": "25.4.0-alpha6",
71
+ "@vaadin/scroller": "25.4.0-alpha6",
72
+ "@vaadin/select": "25.4.0-alpha6",
73
+ "@vaadin/side-nav": "25.4.0-alpha6",
74
+ "@vaadin/slider": "25.4.0-alpha6",
75
+ "@vaadin/split-layout": "25.4.0-alpha6",
76
+ "@vaadin/switch": "25.4.0-alpha6",
77
+ "@vaadin/tabs": "25.4.0-alpha6",
78
+ "@vaadin/tabsheet": "25.4.0-alpha6",
79
+ "@vaadin/text-area": "25.4.0-alpha6",
80
+ "@vaadin/text-field": "25.4.0-alpha6",
81
+ "@vaadin/time-picker": "25.4.0-alpha6",
82
+ "@vaadin/tooltip": "25.4.0-alpha6",
83
+ "@vaadin/upload": "25.4.0-alpha6",
84
+ "@vaadin/vaadin-lumo-styles": "25.4.0-alpha6",
85
+ "@vaadin/vaadin-themable-mixin": "25.4.0-alpha6",
86
+ "@vaadin/vertical-layout": "25.4.0-alpha6",
87
+ "@vaadin/virtual-list": "25.4.0-alpha6"
88
88
  },
89
89
  "devDependencies": {
90
90
  "@types/react": "^19.1.13",
@@ -601,5 +601,5 @@
601
601
  "./renderers/useSimpleRenderer.js": "./renderers/useSimpleRenderer.js",
602
602
  "./renderers/useSimpleRenderer.js.map": "./renderers/useSimpleRenderer.js.map"
603
603
  },
604
- "gitHead": "65e9c9e49c0a723b08ee91b9aae8b901e91a3597"
604
+ "gitHead": "4ead7de23a27c47e5ef4cb172481f8c54e86691a"
605
605
  }
@@ -2,5 +2,5 @@
2
2
  * @license
3
3
  * Copyright (c) 2022 - 2026 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
- */import{useRenderer as l}from"./useRenderer.js";import{useSimpleRenderer as m}from"./useSimpleRenderer.js";function u(p,r,o){let n,e,t=!1;typeof r=="function"?(n=void 0,e=r,t=!0):(n=r,e=p,t=!!e);const d=l(n,void 0,o),R=m(e,o);return t?R:d}export{u as useSimpleOrChildrenRenderer};
5
+ */import{useRenderer as l}from"./useRenderer.js";import{useSimpleRenderer as m}from"./useSimpleRenderer.js";function u(p,r,o){let n,e,t;typeof r=="function"?(n=void 0,e=r,t=!0):(n=r,e=p,t=!!e);const d=l(n,void 0,o),R=m(e,o);return t?R:d}export{u as useSimpleOrChildrenRenderer};
6
6
  //# sourceMappingURL=useSimpleOrChildrenRenderer.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/renderers/useSimpleOrChildrenRenderer.ts"],
4
- "sourcesContent": ["/**\n * @license\n * Copyright (c) 2022 - 2026 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport type { ComponentType, ReactNode } from 'react';\nimport type { RendererConfig, UseRendererResult } from './useRenderer.js';\nimport { useRenderer } from './useRenderer.js';\nimport {\n type ReactSimpleRendererProps,\n useSimpleRenderer,\n type WebComponentSimpleRenderer,\n} from './useSimpleRenderer.js';\n\nexport function useSimpleOrChildrenRenderer<O extends HTMLElement>(\n fnRenderer?: ComponentType<ReactSimpleRendererProps<O>> | null,\n children?: ReactNode | ComponentType<ReactSimpleRendererProps<O>>,\n config?: RendererConfig<WebComponentSimpleRenderer<O>>,\n): UseRendererResult<WebComponentSimpleRenderer<O>> {\n let _children: ReactNode | undefined;\n let _fnRenderer: ComponentType<ReactSimpleRendererProps<O>> | null | undefined;\n let shouldUseSimpleRendererResult = false;\n\n if (typeof children === 'function') {\n _children = undefined;\n _fnRenderer = children;\n shouldUseSimpleRendererResult = true;\n } else {\n _children = children;\n _fnRenderer = fnRenderer;\n shouldUseSimpleRendererResult = !!_fnRenderer;\n }\n\n const useChildrenRendererResult = useRenderer(_children, undefined, config);\n const useSimpleRendererResult = useSimpleRenderer(_fnRenderer, config);\n\n return shouldUseSimpleRendererResult ? useSimpleRendererResult : useChildrenRendererResult;\n}\n"],
5
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA,GAOA,OAAS,eAAAA,MAAmB,mBAC5B,OAEE,qBAAAC,MAEK,yBAEA,SAASC,EACdC,EACAC,EACAC,EACkD,CAClD,IAAIC,EACAC,EACAC,EAAgC,GAEhC,OAAOJ,GAAa,YACtBE,EAAY,OACZC,EAAcH,EACdI,EAAgC,KAEhCF,EAAYF,EACZG,EAAcJ,EACdK,EAAgC,CAAC,CAACD,GAGpC,MAAME,EAA4BT,EAAYM,EAAW,OAAWD,CAAM,EACpEK,EAA0BT,EAAkBM,EAAaF,CAAM,EAErE,OAAOG,EAAgCE,EAA0BD,CACnE",
4
+ "sourcesContent": ["/**\n * @license\n * Copyright (c) 2022 - 2026 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport type { ComponentType, ReactNode } from 'react';\nimport type { RendererConfig, UseRendererResult } from './useRenderer.js';\nimport { useRenderer } from './useRenderer.js';\nimport {\n type ReactSimpleRendererProps,\n useSimpleRenderer,\n type WebComponentSimpleRenderer,\n} from './useSimpleRenderer.js';\n\nexport function useSimpleOrChildrenRenderer<O extends HTMLElement>(\n fnRenderer?: ComponentType<ReactSimpleRendererProps<O>> | null,\n children?: ReactNode | ComponentType<ReactSimpleRendererProps<O>>,\n config?: RendererConfig<WebComponentSimpleRenderer<O>>,\n): UseRendererResult<WebComponentSimpleRenderer<O>> {\n let _children: ReactNode | undefined;\n let _fnRenderer: ComponentType<ReactSimpleRendererProps<O>> | null | undefined;\n let shouldUseSimpleRendererResult: boolean;\n\n if (typeof children === 'function') {\n _children = undefined;\n _fnRenderer = children;\n shouldUseSimpleRendererResult = true;\n } else {\n _children = children;\n _fnRenderer = fnRenderer;\n shouldUseSimpleRendererResult = !!_fnRenderer;\n }\n\n const useChildrenRendererResult = useRenderer(_children, undefined, config);\n const useSimpleRendererResult = useSimpleRenderer(_fnRenderer, config);\n\n return shouldUseSimpleRendererResult ? useSimpleRendererResult : useChildrenRendererResult;\n}\n"],
5
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA,GAOA,OAAS,eAAAA,MAAmB,mBAC5B,OAEE,qBAAAC,MAEK,yBAEA,SAASC,EACdC,EACAC,EACAC,EACkD,CAClD,IAAIC,EACAC,EACAC,EAEA,OAAOJ,GAAa,YACtBE,EAAY,OACZC,EAAcH,EACdI,EAAgC,KAEhCF,EAAYF,EACZG,EAAcJ,EACdK,EAAgC,CAAC,CAACD,GAGpC,MAAME,EAA4BT,EAAYM,EAAW,OAAWD,CAAM,EACpEK,EAA0BT,EAAkBM,EAAaF,CAAM,EAErE,OAAOG,EAAgCE,EAA0BD,CACnE",
6
6
  "names": ["useRenderer", "useSimpleRenderer", "useSimpleOrChildrenRenderer", "fnRenderer", "children", "config", "_children", "_fnRenderer", "shouldUseSimpleRendererResult", "useChildrenRendererResult", "useSimpleRendererResult"]
7
7
  }
@@ -2,5 +2,5 @@
2
2
  * @license
3
3
  * Copyright (c) 2022 - 2026 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
- */import{createComponent as t}from"@lit/react";window.Vaadin??={},window.Vaadin.registrations??=[],window.Vaadin.registrations.push({is:"@vaadin/react-components",version:"25.4.0-alpha5"});function n(e){return t(e)}function s(e){return n(e)}export{n as createComponent,s as createThemedComponent};
5
+ */import{createComponent as t}from"@lit/react";window.Vaadin??={},window.Vaadin.registrations??=[],window.Vaadin.registrations.push({is:"@vaadin/react-components",version:"25.4.0-alpha6"});function n(e){return t(e)}function s(e){return n(e)}export{n as createComponent,s as createThemedComponent};
6
6
  //# sourceMappingURL=createComponent.js.map
@@ -2,5 +2,5 @@
2
2
  * @license
3
3
  * Copyright (c) 2022 - 2026 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
- */import{createElement as a}from"react";function d(f,...o){return(t,n)=>{const r={};for(const e of Object.keys(t))o.includes(e)||(r[e]=t[e]);for(const e of o)t.hasOwnProperty(e)&&(r[e]=t[e]);return r.ref=n,a(f,r)}}export{d as default};
5
+ */import{createElement as a}from"react";function d(f,...o){return(t,n)=>{const r={};for(const e of Object.keys(t))o.includes(e)||(r[e]=t[e]);for(const e of o)Object.hasOwn(t,e)&&(r[e]=t[e]);return r.ref=n,a(f,r)}}export{d as default};
6
6
  //# sourceMappingURL=createComponentWithOrderedProps.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/utils/createComponentWithOrderedProps.ts"],
4
- "sourcesContent": ["/**\n * @license\n * Copyright (c) 2022 - 2026 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { createElement, type FC, type ForwardedRef, type RefAttributes } from 'react';\n\nexport default function createComponentWithOrderedProps<P extends {}, E extends HTMLElement>(\n component: FC<P>,\n ...names: ReadonlyArray<keyof P>\n) {\n return (props: P, ref: ForwardedRef<E>) => {\n const orderedProps: Partial<P> & RefAttributes<E> = {};\n\n for (const name of Object.keys(props) as Array<keyof P>) {\n if (!names.includes(name)) {\n orderedProps[name] = props[name];\n }\n }\n\n for (const name of names) {\n if (props.hasOwnProperty(name)) {\n orderedProps[name] = props[name];\n }\n }\n\n orderedProps.ref = ref;\n\n return createElement(component, orderedProps as Required<P & RefAttributes<E>>);\n };\n}\n"],
5
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA,GAKA,OAAS,iBAAAA,MAAqE,QAE/D,SAARC,EACLC,KACGC,EACH,CACA,MAAO,CAACC,EAAUC,IAAyB,CACzC,MAAMC,EAA8C,CAAC,EAErD,UAAWC,KAAQ,OAAO,KAAKH,CAAK,EAC7BD,EAAM,SAASI,CAAI,IACtBD,EAAaC,CAAI,EAAIH,EAAMG,CAAI,GAInC,UAAWA,KAAQJ,EACbC,EAAM,eAAeG,CAAI,IAC3BD,EAAaC,CAAI,EAAIH,EAAMG,CAAI,GAInC,OAAAD,EAAa,IAAMD,EAEZL,EAAcE,EAAWI,CAA8C,CAChF,CACF",
4
+ "sourcesContent": ["/**\n * @license\n * Copyright (c) 2022 - 2026 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { createElement, type FC, type ForwardedRef, type RefAttributes } from 'react';\n\nexport default function createComponentWithOrderedProps<P extends {}, E extends HTMLElement>(\n component: FC<P>,\n ...names: ReadonlyArray<keyof P>\n) {\n return (props: P, ref: ForwardedRef<E>) => {\n const orderedProps: Partial<P> & RefAttributes<E> = {};\n\n for (const name of Object.keys(props) as Array<keyof P>) {\n if (!names.includes(name)) {\n orderedProps[name] = props[name];\n }\n }\n\n for (const name of names) {\n if (Object.hasOwn(props, name)) {\n orderedProps[name] = props[name];\n }\n }\n\n orderedProps.ref = ref;\n\n return createElement(component, orderedProps as Required<P & RefAttributes<E>>);\n };\n}\n"],
5
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA,GAKA,OAAS,iBAAAA,MAAqE,QAE/D,SAARC,EACLC,KACGC,EACH,CACA,MAAO,CAACC,EAAUC,IAAyB,CACzC,MAAMC,EAA8C,CAAC,EAErD,UAAWC,KAAQ,OAAO,KAAKH,CAAK,EAC7BD,EAAM,SAASI,CAAI,IACtBD,EAAaC,CAAI,EAAIH,EAAMG,CAAI,GAInC,UAAWA,KAAQJ,EACb,OAAO,OAAOC,EAAOG,CAAI,IAC3BD,EAAaC,CAAI,EAAIH,EAAMG,CAAI,GAInC,OAAAD,EAAa,IAAMD,EAEZL,EAAcE,EAAWI,CAA8C,CAChF,CACF",
6
6
  "names": ["createElement", "createComponentWithOrderedProps", "component", "names", "props", "ref", "orderedProps", "name"]
7
7
  }
@@ -2,5 +2,5 @@
2
2
  * @license
3
3
  * Copyright (c) 2022 - 2026 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
- */import{createPortal as h}from"react-dom";function s(e,m="div"){const n=[],l=e?.map(o=>{const{component:t,children:p,...r}=o,[a,i]=s(p,m);if(n.push(...a),t&&typeof t!="string"){const c=document.createElement(m);return n.push(h(t,c)),{...r,component:c,children:i,__item:o}}else return{...r,component:t,children:i,__item:o}});return[n,l]}function d(e){return e.__item}export{d as getOriginalItem,s as mapItemsWithComponents};
5
+ */import{createPortal as h}from"react-dom";function s(e,m="div"){const n=[],l=e?.map(o=>{const{component:t,children:p,...r}=o,[a,i]=s(p,m);if(n.push(...a),t&&typeof t!="string"){const c=document.createElement(m);return n.push(h(t,c)),{...r,component:c,children:i,__item:o}}return{...r,component:t,children:i,__item:o}});return[n,l]}function d(e){return e.__item}export{d as getOriginalItem,s as mapItemsWithComponents};
6
6
  //# sourceMappingURL=mapItemsWithComponents.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/utils/mapItemsWithComponents.ts"],
4
- "sourcesContent": ["/**\n * @license\n * Copyright (c) 2022 - 2026 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport type { ReactElement, ReactPortal } from 'react';\nimport { createPortal } from 'react-dom';\n\ntype ItemWithReactElementComponent<T> = T & {\n component?: ReactElement | string;\n children?: Array<ItemWithReactElementComponent<T>>;\n};\n\ntype ItemWithHTMLElementComponent<T> = T & {\n component?: HTMLElement | string;\n children?: Array<ItemWithHTMLElementComponent<T>>;\n __item?: ItemWithReactElementComponent<unknown>;\n};\n\n/**\n * This function transforms a hierarchical list of items, where each item may contain a React component,\n * into a list of items where each React component is replaced with an HTMLElement.\n *\n * The React components are not simply removed, but are instead rendered into portals.\n * The HTMLElements created for the portals have the given tag name.\n */\nexport function mapItemsWithComponents<T>(\n items?: Array<ItemWithReactElementComponent<T>>,\n wrapperTagName = 'div',\n): [ReactPortal[], Array<ItemWithHTMLElementComponent<Omit<T, 'children' | 'component'>>> | undefined] {\n const itemPortals: ReactPortal[] = [];\n\n const webComponentItems = items?.map((item) => {\n const { component, children, ...rest } = item;\n\n // Recursively map children\n const [childPortals, webComponentChildren] = mapItemsWithComponents(children, wrapperTagName);\n itemPortals.push(...childPortals);\n\n if (component && typeof component !== 'string') {\n // Component is a React element, create a portal for it\n const root = document.createElement(wrapperTagName);\n itemPortals.push(createPortal(component, root));\n\n return {\n ...rest,\n component: root,\n children: webComponentChildren,\n __item: item,\n };\n } else {\n return {\n // Component is a string, or undefined, add it as such\n ...rest,\n component,\n children: webComponentChildren,\n __item: item,\n };\n }\n });\n\n return [itemPortals, webComponentItems];\n}\n\n/**\n * Returns the original item related to the given mapped item.\n */\nexport function getOriginalItem<T>(mappedItem: ItemWithHTMLElementComponent<T>) {\n return mappedItem.__item;\n}\n"],
5
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA,GAMA,OAAS,gBAAAA,MAAoB,YAoBtB,SAASC,EACdC,EACAC,EAAiB,MACoF,CACrG,MAAMC,EAA6B,CAAC,EAE9BC,EAAoBH,GAAO,IAAKI,GAAS,CAC7C,KAAM,CAAE,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAK,EAAIH,EAGnC,CAACI,EAAcC,CAAoB,EAAIV,EAAuBO,EAAUL,CAAc,EAG5F,GAFAC,EAAY,KAAK,GAAGM,CAAY,EAE5BH,GAAa,OAAOA,GAAc,SAAU,CAE9C,MAAMK,EAAO,SAAS,cAAcT,CAAc,EAClD,OAAAC,EAAY,KAAKJ,EAAaO,EAAWK,CAAI,CAAC,EAEvC,CACL,GAAGH,EACH,UAAWG,EACX,SAAUD,EACV,OAAQL,CACV,CACF,KACE,OAAO,CAEL,GAAGG,EACH,UAAAF,EACA,SAAUI,EACV,OAAQL,CACV,CAEJ,CAAC,EAED,MAAO,CAACF,EAAaC,CAAiB,CACxC,CAKO,SAASQ,EAAmBC,EAA6C,CAC9E,OAAOA,EAAW,MACpB",
4
+ "sourcesContent": ["/**\n * @license\n * Copyright (c) 2022 - 2026 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport type { ReactElement, ReactPortal } from 'react';\nimport { createPortal } from 'react-dom';\n\ntype ItemWithReactElementComponent<T> = T & {\n component?: ReactElement | string;\n children?: Array<ItemWithReactElementComponent<T>>;\n};\n\ntype ItemWithHTMLElementComponent<T> = T & {\n component?: HTMLElement | string;\n children?: Array<ItemWithHTMLElementComponent<T>>;\n __item?: ItemWithReactElementComponent<unknown>;\n};\n\n/**\n * This function transforms a hierarchical list of items, where each item may contain a React component,\n * into a list of items where each React component is replaced with an HTMLElement.\n *\n * The React components are not simply removed, but are instead rendered into portals.\n * The HTMLElements created for the portals have the given tag name.\n */\nexport function mapItemsWithComponents<T>(\n items?: Array<ItemWithReactElementComponent<T>>,\n wrapperTagName = 'div',\n): [ReactPortal[], Array<ItemWithHTMLElementComponent<Omit<T, 'children' | 'component'>>> | undefined] {\n const itemPortals: ReactPortal[] = [];\n\n const webComponentItems = items?.map((item) => {\n const { component, children, ...rest } = item;\n\n // Recursively map children\n const [childPortals, webComponentChildren] = mapItemsWithComponents(children, wrapperTagName);\n itemPortals.push(...childPortals);\n\n if (component && typeof component !== 'string') {\n // Component is a React element, create a portal for it\n const root = document.createElement(wrapperTagName);\n itemPortals.push(createPortal(component, root));\n\n return {\n ...rest,\n component: root,\n children: webComponentChildren,\n __item: item,\n };\n }\n\n return {\n // Component is a string, or undefined, add it as such\n ...rest,\n component,\n children: webComponentChildren,\n __item: item,\n };\n });\n\n return [itemPortals, webComponentItems];\n}\n\n/**\n * Returns the original item related to the given mapped item.\n */\nexport function getOriginalItem<T>(mappedItem: ItemWithHTMLElementComponent<T>) {\n return mappedItem.__item;\n}\n"],
5
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA,GAMA,OAAS,gBAAAA,MAAoB,YAoBtB,SAASC,EACdC,EACAC,EAAiB,MACoF,CACrG,MAAMC,EAA6B,CAAC,EAE9BC,EAAoBH,GAAO,IAAKI,GAAS,CAC7C,KAAM,CAAE,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAK,EAAIH,EAGnC,CAACI,EAAcC,CAAoB,EAAIV,EAAuBO,EAAUL,CAAc,EAG5F,GAFAC,EAAY,KAAK,GAAGM,CAAY,EAE5BH,GAAa,OAAOA,GAAc,SAAU,CAE9C,MAAMK,EAAO,SAAS,cAAcT,CAAc,EAClD,OAAAC,EAAY,KAAKJ,EAAaO,EAAWK,CAAI,CAAC,EAEvC,CACL,GAAGH,EACH,UAAWG,EACX,SAAUD,EACV,OAAQL,CACV,CACF,CAEA,MAAO,CAEL,GAAGG,EACH,UAAAF,EACA,SAAUI,EACV,OAAQL,CACV,CACF,CAAC,EAED,MAAO,CAACF,EAAaC,CAAiB,CACxC,CAKO,SAASQ,EAAmBC,EAA6C,CAC9E,OAAOA,EAAW,MACpB",
6
6
  "names": ["createPortal", "mapItemsWithComponents", "items", "wrapperTagName", "itemPortals", "webComponentItems", "item", "component", "children", "rest", "childPortals", "webComponentChildren", "root", "getOriginalItem", "mappedItem"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/utils/useMergedRefs.ts"],
4
- "sourcesContent": ["/**\n * @license\n * Copyright (c) 2022 - 2026 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { type ForwardedRef, type RefCallback, useCallback } from 'react';\n\nexport default function useMergedRefs<T extends HTMLElement>(...refs: ReadonlyArray<ForwardedRef<T>>): RefCallback<T> {\n return useCallback((element: T) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n ref(element);\n } else if (!!ref) {\n ref.current = element;\n }\n });\n // The refs array is the dependency list, so the callback updates when any ref changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n"],
5
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA,GAKA,OAA8C,eAAAA,MAAmB,QAElD,SAARC,KAAyDC,EAAsD,CACpH,OAAOF,EAAaG,GAAe,CACjCD,EAAK,QAASE,GAAQ,CAChB,OAAOA,GAAQ,WACjBA,EAAID,CAAO,EACAC,IACXA,EAAI,QAAUD,EAElB,CAAC,CAGH,EAAGD,CAAI,CACT",
4
+ "sourcesContent": ["/**\n * @license\n * Copyright (c) 2022 - 2026 Vaadin Ltd.\n * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/\n */\nimport { type ForwardedRef, type RefCallback, useCallback } from 'react';\n\nexport default function useMergedRefs<T extends HTMLElement>(...refs: ReadonlyArray<ForwardedRef<T>>): RefCallback<T> {\n return useCallback((element: T) => {\n refs.forEach((ref) => {\n if (typeof ref === 'function') {\n ref(element);\n } else if (ref) {\n ref.current = element;\n }\n });\n // The refs array is the dependency list, so the callback updates when any ref changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n"],
5
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA,GAKA,OAA8C,eAAAA,MAAmB,QAElD,SAARC,KAAyDC,EAAsD,CACpH,OAAOF,EAAaG,GAAe,CACjCD,EAAK,QAASE,GAAQ,CAChB,OAAOA,GAAQ,WACjBA,EAAID,CAAO,EACFC,IACTA,EAAI,QAAUD,EAElB,CAAC,CAGH,EAAGD,CAAI,CACT",
6
6
  "names": ["useCallback", "useMergedRefs", "refs", "element", "ref"]
7
7
  }