@vaadin/react-components 24.4.0-alpha5 → 24.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/Grid.d.ts CHANGED
@@ -1,8 +1,7 @@
1
1
  import { type ComponentType, type ReactElement, type RefAttributes } from 'react';
2
2
  import { type GridElement, type GridProps as _GridProps } from './generated/Grid.js';
3
3
  import type { GridRowDetailsReactRendererProps } from './renderers/grid.js';
4
- export * from '@vaadin/grid/src/vaadin-grid.js';
5
- export { GridElement, type GridEventMap } from './generated/Grid.js';
4
+ export * from './generated/Grid.js';
6
5
  export type GridProps<TItem> = Partial<Omit<_GridProps<TItem>, 'rowDetailsRenderer'>> & Readonly<{
7
6
  rowDetailsRenderer?: ComponentType<GridRowDetailsReactRendererProps<TItem>> | null;
8
7
  }>;
package/Grid.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["src/Grid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAiC,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AACjH,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,SAAS,IAAI,UAAU,EAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAQ5E,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAErE,MAAM,MAAM,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC,GACnF,QAAQ,CAAC;IACP,kBAAkB,CAAC,EAAE,aAAa,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;CACpF,CAAC,CAAC;AAgBL,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;2CAEd,YAAY,GAAG,IAAI,CAAC;AAEzB,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["src/Grid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAiC,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AACjH,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,SAAS,IAAI,UAAU,EAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAG5E,cAAc,qBAAqB,CAAC;AAEpC,MAAM,MAAM,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC,GACnF,QAAQ,CAAC;IACP,kBAAkB,CAAC,EAAE,aAAa,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;CACpF,CAAC,CAAC;AAgBL,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;2CAEd,YAAY,GAAG,IAAI,CAAC;AAEzB,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC"}
package/Grid.js CHANGED
@@ -1,2 +1,2 @@
1
- export*from"@vaadin/grid/vaadin-grid.js";import{forwardRef as p}from"react";import{Grid as r}from"@vaadin/grid/vaadin-grid.js";import*as o from"react";import{createComponent as i}from"./utils/createComponent.js";var m={onActiveItemChanged:"active-item-changed",onCellActivate:"cell-activate",onColumnResize:"column-resize",onExpandedItemsChanged:"expanded-items-changed",onLoadingChanged:"loading-changed",onSelectedItemsChanged:"selected-items-changed",onCellFocus:"cell-focus",onColumnReorder:"column-reorder",onGridDragend:"grid-dragend",onGridDragstart:"grid-dragstart",onGridDrop:"grid-drop",onSizeChanged:"size-changed",onDataProviderChanged:"data-provider-changed"},t=i({elementClass:r,events:m,react:o,tagName:"vaadin-grid"});import{useModelRenderer as l}from"./renderers/useModelRenderer.js";export*from"@vaadin/grid/src/vaadin-grid.js";import{jsxs as c}from"react/jsx-runtime";function s(e,n){let[d,a]=l(e.rowDetailsRenderer,{renderSync:!0});return c(t,{...e,ref:n,rowDetailsRenderer:a,children:[e.children,d]})}var T=p(s);export{T as Grid,r as GridElement};
1
+ export*from"@vaadin/grid/vaadin-grid.js";import{forwardRef as l}from"react";import{Grid as d}from"@vaadin/grid/vaadin-grid.js";import*as o from"react";import{createComponent as i}from"./utils/createComponent.js";var m={onActiveItemChanged:"active-item-changed",onCellActivate:"cell-activate",onColumnResize:"column-resize",onExpandedItemsChanged:"expanded-items-changed",onLoadingChanged:"loading-changed",onSelectedItemsChanged:"selected-items-changed",onCellFocus:"cell-focus",onColumnReorder:"column-reorder",onGridDragend:"grid-dragend",onGridDragstart:"grid-dragstart",onGridDrop:"grid-drop",onSizeChanged:"size-changed",onDataProviderChanged:"data-provider-changed"},n=i({elementClass:d,events:m,react:o,tagName:"vaadin-grid"});import{useModelRenderer as p}from"./renderers/useModelRenderer.js";import{jsxs as c}from"react/jsx-runtime";function s(e,t){let[r,a]=p(e.rowDetailsRenderer,{renderSync:!0});return c(n,{...e,ref:t,rowDetailsRenderer:a,children:[e.children,r]})}var C=l(s);customElements.whenDefined("vaadin-grid").then(()=>{let e=customElements.get("vaadin-grid")?.prototype,t=e?._recalculateColumnWidths;e._recalculateColumnWidths=function(...r){queueMicrotask(()=>t.call(this,...r))}});export{C as Grid,d as GridElement};
2
2
  //# sourceMappingURL=Grid.js.map
package/Grid.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["src/Grid.tsx", "src/generated/Grid.ts"],
4
- "sourcesContent": ["export * from \"@vaadin/grid/vaadin-grid.js\";\nimport { type ComponentType, type ForwardedRef, forwardRef, type ReactElement, type RefAttributes } from 'react';\nimport {\n Grid as _Grid,\n type GridDefaultItem,\n type GridElement,\n type GridProps as _GridProps,\n} from './generated/Grid.js';\nimport type { GridRowDetailsReactRendererProps } from './renderers/grid.js';\nimport { useModelRenderer } from './renderers/useModelRenderer.js';\n\n// \"@vaadin/grid/vaadin-grid.js\" has additional re-exports from \"grid-column.js\"\n// for historical reasons. This exports \"GridColumn\" web component, which gets\n// suggested in React context, see https://github.com/vaadin/react-components/issues/68\n// Fix: use re-exports from raw \"src/vaadin-grid.js\" as a workaround, until\n// the re-export is removed.\nexport * from '@vaadin/grid/src/vaadin-grid.js';\nexport { GridElement, type GridEventMap } from './generated/Grid.js';\n\nexport type GridProps<TItem> = Partial<Omit<_GridProps<TItem>, 'rowDetailsRenderer'>> &\n Readonly<{\n rowDetailsRenderer?: ComponentType<GridRowDetailsReactRendererProps<TItem>> | null;\n }>;\n\nfunction Grid<TItem = GridDefaultItem>(\n props: GridProps<TItem>,\n ref: ForwardedRef<GridElement<TItem>>,\n): ReactElement | null {\n const [portals, rowDetailsRenderer] = useModelRenderer(props.rowDetailsRenderer, { renderSync: true });\n\n return (\n <_Grid<TItem> {...props} ref={ref} rowDetailsRenderer={rowDetailsRenderer}>\n {props.children}\n {portals}\n </_Grid>\n );\n}\n\nconst ForwardedGrid = forwardRef(Grid) as <TItem = GridDefaultItem>(\n props: GridProps<TItem> & RefAttributes<GridElement<TItem>>,\n) => ReactElement | null;\n\nexport { ForwardedGrid as Grid };\n", "import type { EventName } from \"@lit/react\";\nimport { Grid as GridElement, type GridEventMap as _GridEventMap, } from \"@vaadin/grid/vaadin-grid.js\";\nimport * as React from \"react\";\nimport { createComponent, type WebComponentProps } from \"../utils/createComponent.js\";\nexport { GridElement, };\nexport type GridEventMap<T1> = Readonly<{\n onActiveItemChanged: EventName<_GridEventMap<T1>[\"active-item-changed\"]>;\n onCellActivate: EventName<_GridEventMap<T1>[\"cell-activate\"]>;\n onColumnResize: EventName<_GridEventMap<T1>[\"column-resize\"]>;\n onExpandedItemsChanged: EventName<_GridEventMap<T1>[\"expanded-items-changed\"]>;\n onLoadingChanged: EventName<_GridEventMap<T1>[\"loading-changed\"]>;\n onSelectedItemsChanged: EventName<_GridEventMap<T1>[\"selected-items-changed\"]>;\n onCellFocus: EventName<_GridEventMap<T1>[\"cell-focus\"]>;\n onColumnReorder: EventName<_GridEventMap<T1>[\"column-reorder\"]>;\n onGridDragend: EventName<_GridEventMap<T1>[\"grid-dragend\"]>;\n onGridDragstart: EventName<_GridEventMap<T1>[\"grid-dragstart\"]>;\n onGridDrop: EventName<_GridEventMap<T1>[\"grid-drop\"]>;\n onSizeChanged: EventName<CustomEvent<unknown>>;\n onDataProviderChanged: EventName<CustomEvent<unknown>>;\n}>;\nconst events = { onActiveItemChanged: \"active-item-changed\", onCellActivate: \"cell-activate\", onColumnResize: \"column-resize\", onExpandedItemsChanged: \"expanded-items-changed\", onLoadingChanged: \"loading-changed\", onSelectedItemsChanged: \"selected-items-changed\", onCellFocus: \"cell-focus\", onColumnReorder: \"column-reorder\", onGridDragend: \"grid-dragend\", onGridDragstart: \"grid-dragstart\", onGridDrop: \"grid-drop\", onSizeChanged: \"size-changed\", onDataProviderChanged: \"data-provider-changed\" } as GridEventMap<unknown>;\nexport type GridProps<T1> = WebComponentProps<GridElement<T1>, GridEventMap<T1>>;\nexport const Grid = createComponent({\n elementClass: GridElement, events, react: React, tagName: \"vaadin-grid\"\n}) as <T1>(props: GridProps<T1> & React.RefAttributes<GridElement<T1>>) => React.ReactElement | null;\n"],
5
- "mappings": "AAAA,WAAc,8BACd,OAAgD,cAAAA,MAAyD,QCAzG,OAAS,QAAQC,MAAwD,8BACzE,UAAYC,MAAW,QACvB,OAAS,mBAAAC,MAA+C,6BAiBxD,IAAMC,EAAS,CAAE,oBAAqB,sBAAuB,eAAgB,gBAAiB,eAAgB,gBAAiB,uBAAwB,yBAA0B,iBAAkB,kBAAmB,uBAAwB,yBAA0B,YAAa,aAAc,gBAAiB,iBAAkB,cAAe,eAAgB,gBAAiB,iBAAkB,WAAY,YAAa,cAAe,eAAgB,sBAAuB,uBAAwB,EAEleC,EAAOC,EAAgB,CAChC,aAAcC,EAAa,OAAAH,EAAQ,MAAOI,EAAO,QAAS,aAC9D,CAAC,EDfD,OAAS,oBAAAC,MAAwB,kCAOjC,WAAc,kCAeV,eAAAC,MAAA,oBAPJ,SAASC,EACPC,EACAC,EACqB,CACrB,GAAM,CAACC,EAASC,CAAkB,EAAIN,EAAiBG,EAAM,mBAAoB,CAAE,WAAY,EAAK,CAAC,EAErG,OACEF,EAACC,EAAA,CAAc,GAAGC,EAAO,IAAKC,EAAK,mBAAoBE,EACpD,UAAAH,EAAM,SACNE,GACH,CAEJ,CAEA,IAAME,EAAgBC,EAAWN,CAAI",
6
- "names": ["forwardRef", "GridElement", "React", "createComponent", "events", "Grid", "createComponent", "GridElement", "React", "useModelRenderer", "jsxs", "Grid", "props", "ref", "portals", "rowDetailsRenderer", "ForwardedGrid", "forwardRef"]
4
+ "sourcesContent": ["export * from \"@vaadin/grid/vaadin-grid.js\";\nimport { type ComponentType, type ForwardedRef, forwardRef, type ReactElement, type RefAttributes } from 'react';\nimport {\n Grid as _Grid,\n type GridDefaultItem,\n type GridElement,\n type GridProps as _GridProps,\n} from './generated/Grid.js';\nimport type { GridRowDetailsReactRendererProps } from './renderers/grid.js';\nimport { useModelRenderer } from './renderers/useModelRenderer.js';\n\nexport * from './generated/Grid.js';\n\nexport type GridProps<TItem> = Partial<Omit<_GridProps<TItem>, 'rowDetailsRenderer'>> &\n Readonly<{\n rowDetailsRenderer?: ComponentType<GridRowDetailsReactRendererProps<TItem>> | null;\n }>;\n\nfunction Grid<TItem = GridDefaultItem>(\n props: GridProps<TItem>,\n ref: ForwardedRef<GridElement<TItem>>,\n): ReactElement | null {\n const [portals, rowDetailsRenderer] = useModelRenderer(props.rowDetailsRenderer, { renderSync: true });\n\n return (\n <_Grid<TItem> {...props} ref={ref} rowDetailsRenderer={rowDetailsRenderer}>\n {props.children}\n {portals}\n </_Grid>\n );\n}\n\nconst ForwardedGrid = forwardRef(Grid) as <TItem = GridDefaultItem>(\n props: GridProps<TItem> & RefAttributes<GridElement<TItem>>,\n) => ReactElement | null;\n\nexport { ForwardedGrid as Grid };\n\ncustomElements.whenDefined('vaadin-grid').then(() => {\n const gridProto = customElements.get('vaadin-grid')?.prototype;\n const originalRecalculateColumnWidths = gridProto?._recalculateColumnWidths;\n gridProto._recalculateColumnWidths = function (...args: any[]) {\n // Multiple synchronous calls to the renderers using flushSync cause\n // some of the renderers to be called asynchronously (see useRenderer.ts).\n // To make sure all the column cell content is rendered before recalculating\n // the column widths, we need to make _recalculateColumnWidths asynchronous.\n queueMicrotask(() => originalRecalculateColumnWidths.call(this, ...args));\n };\n});\n", "import type { EventName } from \"@lit/react\";\nimport { Grid as GridElement, type GridEventMap as _GridEventMap, } from \"@vaadin/grid/vaadin-grid.js\";\nimport * as React from \"react\";\nimport { createComponent, type WebComponentProps } from \"../utils/createComponent.js\";\nexport { GridElement, };\nexport type GridEventMap<T1> = Readonly<{\n onActiveItemChanged: EventName<_GridEventMap<T1>[\"active-item-changed\"]>;\n onCellActivate: EventName<_GridEventMap<T1>[\"cell-activate\"]>;\n onColumnResize: EventName<_GridEventMap<T1>[\"column-resize\"]>;\n onExpandedItemsChanged: EventName<_GridEventMap<T1>[\"expanded-items-changed\"]>;\n onLoadingChanged: EventName<_GridEventMap<T1>[\"loading-changed\"]>;\n onSelectedItemsChanged: EventName<_GridEventMap<T1>[\"selected-items-changed\"]>;\n onCellFocus: EventName<_GridEventMap<T1>[\"cell-focus\"]>;\n onColumnReorder: EventName<_GridEventMap<T1>[\"column-reorder\"]>;\n onGridDragend: EventName<_GridEventMap<T1>[\"grid-dragend\"]>;\n onGridDragstart: EventName<_GridEventMap<T1>[\"grid-dragstart\"]>;\n onGridDrop: EventName<_GridEventMap<T1>[\"grid-drop\"]>;\n onSizeChanged: EventName<CustomEvent<unknown>>;\n onDataProviderChanged: EventName<CustomEvent<unknown>>;\n}>;\nconst events = { onActiveItemChanged: \"active-item-changed\", onCellActivate: \"cell-activate\", onColumnResize: \"column-resize\", onExpandedItemsChanged: \"expanded-items-changed\", onLoadingChanged: \"loading-changed\", onSelectedItemsChanged: \"selected-items-changed\", onCellFocus: \"cell-focus\", onColumnReorder: \"column-reorder\", onGridDragend: \"grid-dragend\", onGridDragstart: \"grid-dragstart\", onGridDrop: \"grid-drop\", onSizeChanged: \"size-changed\", onDataProviderChanged: \"data-provider-changed\" } as GridEventMap<unknown>;\nexport type GridProps<T1> = WebComponentProps<GridElement<T1>, GridEventMap<T1>>;\nexport const Grid = createComponent({\n elementClass: GridElement, events, react: React, tagName: \"vaadin-grid\"\n}) as <T1>(props: GridProps<T1> & React.RefAttributes<GridElement<T1>>) => React.ReactElement | null;\n"],
5
+ "mappings": "AAAA,WAAc,8BACd,OAAgD,cAAAA,MAAyD,QCAzG,OAAS,QAAQC,MAAwD,8BACzE,UAAYC,MAAW,QACvB,OAAS,mBAAAC,MAA+C,6BAiBxD,IAAMC,EAAS,CAAE,oBAAqB,sBAAuB,eAAgB,gBAAiB,eAAgB,gBAAiB,uBAAwB,yBAA0B,iBAAkB,kBAAmB,uBAAwB,yBAA0B,YAAa,aAAc,gBAAiB,iBAAkB,cAAe,eAAgB,gBAAiB,iBAAkB,WAAY,YAAa,cAAe,eAAgB,sBAAuB,uBAAwB,EAEleC,EAAOC,EAAgB,CAChC,aAAcC,EAAa,OAAAH,EAAQ,MAAOI,EAAO,QAAS,aAC9D,CAAC,EDfD,OAAS,oBAAAC,MAAwB,kCAgB7B,eAAAC,MAAA,oBAPJ,SAASC,EACPC,EACAC,EACqB,CACrB,GAAM,CAACC,EAASC,CAAkB,EAAIN,EAAiBG,EAAM,mBAAoB,CAAE,WAAY,EAAK,CAAC,EAErG,OACEF,EAACC,EAAA,CAAc,GAAGC,EAAO,IAAKC,EAAK,mBAAoBE,EACpD,UAAAH,EAAM,SACNE,GACH,CAEJ,CAEA,IAAME,EAAgBC,EAAWN,CAAI,EAMrC,eAAe,YAAY,aAAa,EAAE,KAAK,IAAM,CACnD,IAAMO,EAAY,eAAe,IAAI,aAAa,GAAG,UAC/CC,EAAkCD,GAAW,yBACnDA,EAAU,yBAA2B,YAAaE,EAAa,CAK7D,eAAe,IAAMD,EAAgC,KAAK,KAAM,GAAGC,CAAI,CAAC,CAC1E,CACF,CAAC",
6
+ "names": ["forwardRef", "GridElement", "React", "createComponent", "events", "Grid", "createComponent", "GridElement", "React", "useModelRenderer", "jsxs", "Grid", "props", "ref", "portals", "rowDetailsRenderer", "ForwardedGrid", "forwardRef", "gridProto", "originalRecalculateColumnWidths", "args"]
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import { type ComponentType, type ReactElement, type ReactNode, type RefAttributes } from 'react';
2
- import type { GridColumn } from './generated/Grid.js';
2
+ import type { GridColumnElement } from './generated/GridColumn.js';
3
3
  import { type GridProEditColumnElement, type GridProEditColumnProps as _GridProEditColumnProps } from './generated/GridProEditColumn.js';
4
4
  import type { GridBodyReactRendererProps, GridEdgeReactRendererProps } from './renderers/grid.js';
5
5
  import type { OmittedGridColumnHTMLAttributes } from './GridColumn.js';
@@ -21,25 +21,25 @@ declare const ForwardedGridProEditColumn: <TItem = any>(props: Partial<Omit<Part
21
21
  children?: ComponentType<Readonly<{
22
22
  item: TItem;
23
23
  model: import("@vaadin/grid/src/vaadin-grid-mixin.js").GridItemModel<TItem>;
24
- original: GridColumn<TItem>;
24
+ original: GridColumnElement<TItem>;
25
25
  }>> | null | undefined;
26
26
  editModeRenderer?: ComponentType<Readonly<{
27
27
  item: TItem;
28
28
  model: import("@vaadin/grid/src/vaadin-grid-mixin.js").GridItemModel<TItem>;
29
- original: GridColumn<TItem>;
29
+ original: GridColumnElement<TItem>;
30
30
  }>> | null | undefined;
31
31
  footer?: ReactNode;
32
32
  footerRenderer?: ComponentType<Readonly<{
33
- original: GridColumn<TItem>;
33
+ original: GridColumnElement<TItem>;
34
34
  }>> | null | undefined;
35
35
  header?: ReactNode;
36
36
  headerRenderer?: ComponentType<Readonly<{
37
- original: GridColumn<TItem>;
37
+ original: GridColumnElement<TItem>;
38
38
  }>> | null | undefined;
39
39
  renderer?: ComponentType<Readonly<{
40
40
  item: TItem;
41
41
  model: import("@vaadin/grid/src/vaadin-grid-mixin.js").GridItemModel<TItem>;
42
- original: GridColumn<TItem>;
42
+ original: GridColumnElement<TItem>;
43
43
  }>> | null | undefined;
44
44
  }> & RefAttributes<GridProEditColumnElement<TItem>>) => ReactElement | null;
45
45
  export { ForwardedGridProEditColumn as GridProEditColumn };
@@ -1 +1 @@
1
- {"version":3,"file":"GridProEditColumn.d.ts","sourceRoot":"","sources":["src/GridProEditColumn.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAGlB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,aAAa,EAEnB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAoB,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,IAAI,uBAAuB,EACvD,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAGlG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAEvE,cAAc,kCAAkC,CAAC;AAEjD,MAAM,MAAM,sBAAsB,CAAC,KAAK,IAAI,OAAO,CACjD,IAAI,CACF,uBAAuB,CAAC,KAAK,CAAC,EAC5B,UAAU,GACV,kBAAkB,GAClB,gBAAgB,GAChB,QAAQ,GACR,gBAAgB,GAChB,UAAU,GACV,MAAM,+BAA+B,CAAC,KAAK,CAAC,CAC/C,CACF,GACC,QAAQ,CAAC;IACP,QAAQ,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IACnE,gBAAgB,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3E,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,cAAc,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IACzE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,cAAc,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;CACpE,CAAC,CAAC;AAwGL,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;aA7GnB,SAAS;;;;aAET,SAAS;;;;;;;;;wDA6GjB,YAAY,GAAG,IAAI,CAAC;AAEzB,OAAO,EAAE,0BAA0B,IAAI,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"GridProEditColumn.d.ts","sourceRoot":"","sources":["src/GridProEditColumn.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAGlB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,aAAa,EAEnB,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,IAAI,uBAAuB,EACvD,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAGlG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAEvE,cAAc,kCAAkC,CAAC;AAEjD,MAAM,MAAM,sBAAsB,CAAC,KAAK,IAAI,OAAO,CACjD,IAAI,CACF,uBAAuB,CAAC,KAAK,CAAC,EAC5B,UAAU,GACV,kBAAkB,GAClB,gBAAgB,GAChB,QAAQ,GACR,gBAAgB,GAChB,UAAU,GACV,MAAM,+BAA+B,CAAC,KAAK,CAAC,CAC/C,CACF,GACC,QAAQ,CAAC;IACP,QAAQ,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IACnE,gBAAgB,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3E,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,cAAc,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IACzE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,cAAc,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;CACpE,CAAC,CAAC;AAwGL,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;aA7GnB,SAAS;;;;aAET,SAAS;;;;;;;;;wDA6GjB,YAAY,GAAG,IAAI,CAAC;AAEzB,OAAO,EAAE,0BAA0B,IAAI,iBAAiB,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- export*from"@vaadin/grid-pro/vaadin-grid-pro-edit-column.js";import{forwardRef as _,createElement as I}from"react";import{GridProEditColumn as c}from"@vaadin/grid-pro/vaadin-grid-pro-edit-column.js";import*as y from"react";import{createComponent as f}from"./utils/createComponent.js";var T={onEditorTypeChanged:"editor-type-changed"},i=f({elementClass:c,events:T,react:y,tagName:"vaadin-grid-pro-edit-column"});import{useModelRenderer as l}from"./renderers/useModelRenderer.js";import{useSimpleOrChildrenRenderer as m}from"./renderers/useSimpleOrChildrenRenderer.js";import{jsxs as h}from"react/jsx-runtime";function a(e){if(e)return e.__wrapperRenderer||=function(r){return"__renderEmpty"in r.model?null:I(e,r)},e.__wrapperRenderer}function p(e){if(e)return e.__wrapperRenderer||=(n,r,t)=>{r.__originalClearCellContent||(r.__originalClearCellContent=r._clearCellContent,r._clearCellContent=o=>{let d=o._content;d.__editColumnRenderer?.(d,r,Object.assign({},t,{__renderEmpty:!0})),r.__originalClearCellContent?.(o)}),n.__editColumnRenderer=e,e(n,r,t)},e.__wrapperRenderer}function g({children:e,footer:n,header:r,...t},o){let[d,u]=l(a(t.editModeRenderer),{renderSync:!0}),[C,R]=m(t.headerRenderer,r,{renderSync:!0}),[E,s]=m(t.footerRenderer,n,{renderSync:!0}),[P,G]=l(a(t.renderer??e),{renderSync:!0});return h(i,{...t,editModeRenderer:p(u),footerRenderer:s,headerRenderer:R,ref:o,renderer:p(G),children:[d,C,E,P]})}var N=_(g);export{N as GridProEditColumn,c as GridProEditColumnElement};
1
+ export*from"@vaadin/grid-pro/vaadin-grid-pro-edit-column.js";import{forwardRef as _,createElement as I}from"react";import{GridProEditColumn as c}from"@vaadin/grid-pro/vaadin-grid-pro-edit-column.js";import*as y from"react";import{createComponent as f}from"./utils/createComponent.js";var T={onEditorTypeChanged:"editor-type-changed"},i=f({elementClass:c,events:T,react:y,tagName:"vaadin-grid-pro-edit-column"});import{useModelRenderer as m}from"./renderers/useModelRenderer.js";import{useSimpleOrChildrenRenderer as l}from"./renderers/useSimpleOrChildrenRenderer.js";import{jsxs as h}from"react/jsx-runtime";function a(e){if(e)return e.__wrapperRenderer||=function(r){return"__renderEmpty"in r.model?null:I(e,r)},e.__wrapperRenderer}function p(e){if(e)return e.__wrapperRenderer||=(n,r,t)=>{r.__originalClearCellContent||(r.__originalClearCellContent=r._clearCellContent,r._clearCellContent=o=>{let d=o._content;d.__editColumnRenderer?.(d,r,Object.assign({},t,{__renderEmpty:!0})),r.__originalClearCellContent?.(o)}),n.__editColumnRenderer=e,e(n,r,t)},e.__wrapperRenderer}function g({children:e,footer:n,header:r,...t},o){let[d,u]=m(a(t.editModeRenderer),{renderSync:!0}),[C,R]=l(t.headerRenderer,r,{renderSync:!0}),[E,s]=l(t.footerRenderer,n,{renderSync:!0}),[P,G]=m(a(t.renderer??e),{renderSync:!0});return h(i,{...t,editModeRenderer:p(u),footerRenderer:s,headerRenderer:R,ref:o,renderer:p(G),children:[d,C,E,P]})}var N=_(g);export{N as GridProEditColumn,c as GridProEditColumnElement};
2
2
  //# sourceMappingURL=GridProEditColumn.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["src/GridProEditColumn.tsx", "src/generated/GridProEditColumn.ts"],
4
- "sourcesContent": ["export * from \"@vaadin/grid-pro/vaadin-grid-pro-edit-column.js\";\nimport {\n type ComponentType,\n type ForwardedRef,\n forwardRef,\n type ReactElement,\n type ReactNode,\n type RefAttributes,\n createElement,\n} from 'react';\nimport type { GridBodyRenderer, GridColumn, GridDefaultItem } from './generated/Grid.js';\nimport {\n GridProEditColumn as _GridProEditColumn,\n type GridProEditColumnElement,\n type GridProEditColumnProps as _GridProEditColumnProps,\n} from './generated/GridProEditColumn.js';\nimport type { GridBodyReactRendererProps, GridEdgeReactRendererProps } from './renderers/grid.js';\nimport { useModelRenderer } from './renderers/useModelRenderer.js';\nimport { useSimpleOrChildrenRenderer } from './renderers/useSimpleOrChildrenRenderer.js';\nimport type { OmittedGridColumnHTMLAttributes } from './GridColumn.js';\n\nexport * from './generated/GridProEditColumn.js';\n\nexport type GridProEditColumnProps<TItem> = Partial<\n Omit<\n _GridProEditColumnProps<TItem>,\n | 'children'\n | 'editModeRenderer'\n | 'footerRenderer'\n | 'header'\n | 'headerRenderer'\n | 'renderer'\n | keyof OmittedGridColumnHTMLAttributes<TItem>\n >\n> &\n Readonly<{\n children?: ComponentType<GridBodyReactRendererProps<TItem>> | null;\n editModeRenderer?: ComponentType<GridBodyReactRendererProps<TItem>> | null;\n footer?: ReactNode;\n footerRenderer?: ComponentType<GridEdgeReactRendererProps<TItem>> | null;\n header?: ReactNode;\n headerRenderer?: ComponentType<GridEdgeReactRendererProps<TItem>> | null;\n renderer?: ComponentType<GridBodyReactRendererProps<TItem>> | null;\n }>;\n\ntype ReactBodyRenderer<TItem> = ComponentType<GridBodyReactRendererProps<TItem>> & {\n __wrapperRenderer?: ReactBodyRenderer<TItem>;\n};\n\ntype EditColumnRendererRoot = HTMLElement & { __editColumnRenderer?: GridBodyRenderer };\n\ntype ClearFunction = (arg0: HTMLElement & { _content: EditColumnRendererRoot }) => void;\n\n/**\n * Wraps a React renderer function to render empty when requested\n *\n * @returns\n */\nfunction editColumnReactRenderer<TItem>(reactBodyRenderer?: ReactBodyRenderer<TItem> | null) {\n if (!reactBodyRenderer) {\n return undefined;\n }\n\n reactBodyRenderer.__wrapperRenderer ||= function GridProEditColumnRenderer(props) {\n // If the model has __renderEmpty set, return null, otherwise call the original renderer\n return '__renderEmpty' in props.model ? null : createElement(reactBodyRenderer, props);\n };\n\n return reactBodyRenderer.__wrapperRenderer;\n}\n\n/**\n * Wraps a Grid body renderer function to make it request empty render before\n * the GridPro edit column clears cell content.\n */\nfunction editColumnRenderer(bodyRenderer?: (GridBodyRenderer & { __wrapperRenderer?: GridBodyRenderer }) | null) {\n if (!bodyRenderer) {\n return undefined;\n }\n\n bodyRenderer.__wrapperRenderer ||= (\n root: EditColumnRendererRoot,\n column: GridColumn & {\n __originalClearCellContent?: ClearFunction;\n _clearCellContent?: ClearFunction;\n },\n model,\n ) => {\n // Patch the column's _clearCellContent function which is called internally by grid-pro\n // when switching from edit mode to view mode and vice versa\n if (!column.__originalClearCellContent) {\n column.__originalClearCellContent = column._clearCellContent;\n\n column._clearCellContent = (cell) => {\n const cellRoot = cell._content;\n // Call the original renderer with __renderEmpty set to true to clear the content it manages\n cellRoot.__editColumnRenderer?.(cellRoot, column, Object.assign({}, model, { __renderEmpty: true }));\n // Call the original clearCellContent function to manually clear the cell content\n column.__originalClearCellContent?.(cell);\n };\n }\n\n // Update the cell content's renderer reference so that the correct one is used\n // to render empty when the cell is cleared\n root.__editColumnRenderer = bodyRenderer;\n\n // Call the original renderer\n bodyRenderer(root, column, model);\n };\n\n return bodyRenderer.__wrapperRenderer;\n}\n\nfunction GridProEditColumn<TItem = GridDefaultItem>(\n { children, footer, header, ...props }: GridProEditColumnProps<TItem>,\n ref: ForwardedRef<GridProEditColumnElement<TItem>>,\n): ReactElement | null {\n const [editModePortals, editModeRenderer] = useModelRenderer(editColumnReactRenderer(props.editModeRenderer), {\n renderSync: true,\n });\n const [headerPortals, headerRenderer] = useSimpleOrChildrenRenderer(props.headerRenderer, header, {\n renderSync: true,\n });\n const [footerPortals, footerRenderer] = useSimpleOrChildrenRenderer(props.footerRenderer, footer, {\n renderSync: true,\n });\n const [bodyPortals, bodyRenderer] = useModelRenderer(editColumnReactRenderer(props.renderer ?? children), {\n renderSync: true,\n });\n\n return (\n <_GridProEditColumn<TItem>\n {...props}\n editModeRenderer={editColumnRenderer(editModeRenderer)}\n footerRenderer={footerRenderer}\n headerRenderer={headerRenderer}\n ref={ref}\n renderer={editColumnRenderer(bodyRenderer)}\n >\n {editModePortals}\n {headerPortals}\n {footerPortals}\n {bodyPortals}\n </_GridProEditColumn>\n );\n}\n\nconst ForwardedGridProEditColumn = forwardRef(GridProEditColumn) as <TItem = GridDefaultItem>(\n props: GridProEditColumnProps<TItem> & RefAttributes<GridProEditColumnElement<TItem>>,\n) => ReactElement | null;\n\nexport { ForwardedGridProEditColumn as GridProEditColumn };\n", "import type { EventName } from \"@lit/react\";\nimport { GridProEditColumn as GridProEditColumnElement, } from \"@vaadin/grid-pro/vaadin-grid-pro-edit-column.js\";\nimport * as React from \"react\";\nimport { createComponent, type WebComponentProps } from \"../utils/createComponent.js\";\nexport { GridProEditColumnElement, };\nexport type GridProEditColumnEventMap<T1> = Readonly<{\n onEditorTypeChanged: EventName<CustomEvent<unknown>>;\n}>;\nconst events = { onEditorTypeChanged: \"editor-type-changed\" } as GridProEditColumnEventMap<unknown>;\nexport type GridProEditColumnProps<T1> = WebComponentProps<GridProEditColumnElement<T1>, GridProEditColumnEventMap<T1>>;\nexport const GridProEditColumn = createComponent({\n elementClass: GridProEditColumnElement, events, react: React, tagName: \"vaadin-grid-pro-edit-column\"\n}) as <T1>(props: GridProEditColumnProps<T1> & React.RefAttributes<GridProEditColumnElement<T1>>) => React.ReactElement | null;\n"],
5
- "mappings": "AAAA,WAAc,kDACd,OAGE,cAAAA,EAIA,iBAAAC,MACK,QCRP,OAAS,qBAAqBC,MAAiC,kDAC/D,UAAYC,MAAW,QACvB,OAAS,mBAAAC,MAA+C,6BAKxD,IAAMC,EAAS,CAAE,oBAAqB,qBAAsB,EAE/CC,EAAoBC,EAAgB,CAC7C,aAAcC,EAA0B,OAAAH,EAAQ,MAAOI,EAAO,QAAS,6BAC3E,CAAC,EDKD,OAAS,oBAAAC,MAAwB,kCACjC,OAAS,+BAAAC,MAAmC,6CAiHxC,eAAAC,MAAA,oBAzEJ,SAASC,EAA+BC,EAAqD,CAC3F,GAAKA,EAIL,OAAAA,EAAkB,oBAAsB,SAAmCC,EAAO,CAEhF,MAAO,kBAAmBA,EAAM,MAAQ,KAAOC,EAAcF,EAAmBC,CAAK,CACvF,EAEOD,EAAkB,iBAC3B,CAMA,SAASG,EAAmBC,EAAqF,CAC/G,GAAKA,EAIL,OAAAA,EAAa,oBAAsB,CACjCC,EACAC,EAIAC,IACG,CAGED,EAAO,6BACVA,EAAO,2BAA6BA,EAAO,kBAE3CA,EAAO,kBAAqBE,GAAS,CACnC,IAAMC,EAAWD,EAAK,SAEtBC,EAAS,uBAAuBA,EAAUH,EAAQ,OAAO,OAAO,CAAC,EAAGC,EAAO,CAAE,cAAe,EAAK,CAAC,CAAC,EAEnGD,EAAO,6BAA6BE,CAAI,CAC1C,GAKFH,EAAK,qBAAuBD,EAG5BA,EAAaC,EAAMC,EAAQC,CAAK,CAClC,EAEOH,EAAa,iBACtB,CAEA,SAASM,EACP,CAAE,SAAAC,EAAU,OAAAC,EAAQ,OAAAC,EAAQ,GAAGZ,CAAM,EACrCa,EACqB,CACrB,GAAM,CAACC,EAAiBC,CAAgB,EAAIpB,EAAiBG,EAAwBE,EAAM,gBAAgB,EAAG,CAC5G,WAAY,EACd,CAAC,EACK,CAACgB,EAAeC,CAAc,EAAIrB,EAA4BI,EAAM,eAAgBY,EAAQ,CAChG,WAAY,EACd,CAAC,EACK,CAACM,EAAeC,CAAc,EAAIvB,EAA4BI,EAAM,eAAgBW,EAAQ,CAChG,WAAY,EACd,CAAC,EACK,CAACS,EAAajB,CAAY,EAAIR,EAAiBG,EAAwBE,EAAM,UAAYU,CAAQ,EAAG,CACxG,WAAY,EACd,CAAC,EAED,OACEb,EAACY,EAAA,CACE,GAAGT,EACJ,iBAAkBE,EAAmBa,CAAgB,EACrD,eAAgBI,EAChB,eAAgBF,EAChB,IAAKJ,EACL,SAAUX,EAAmBC,CAAY,EAExC,UAAAW,EACAE,EACAE,EACAE,GACH,CAEJ,CAEA,IAAMC,EAA6BC,EAAWb,CAAiB",
4
+ "sourcesContent": ["export * from \"@vaadin/grid-pro/vaadin-grid-pro-edit-column.js\";\nimport {\n type ComponentType,\n type ForwardedRef,\n forwardRef,\n type ReactElement,\n type ReactNode,\n type RefAttributes,\n createElement,\n} from 'react';\nimport type { GridBodyRenderer, GridDefaultItem } from './generated/Grid.js';\nimport type { GridColumnElement } from './generated/GridColumn.js';\nimport {\n GridProEditColumn as _GridProEditColumn,\n type GridProEditColumnElement,\n type GridProEditColumnProps as _GridProEditColumnProps,\n} from './generated/GridProEditColumn.js';\nimport type { GridBodyReactRendererProps, GridEdgeReactRendererProps } from './renderers/grid.js';\nimport { useModelRenderer } from './renderers/useModelRenderer.js';\nimport { useSimpleOrChildrenRenderer } from './renderers/useSimpleOrChildrenRenderer.js';\nimport type { OmittedGridColumnHTMLAttributes } from './GridColumn.js';\n\nexport * from './generated/GridProEditColumn.js';\n\nexport type GridProEditColumnProps<TItem> = Partial<\n Omit<\n _GridProEditColumnProps<TItem>,\n | 'children'\n | 'editModeRenderer'\n | 'footerRenderer'\n | 'header'\n | 'headerRenderer'\n | 'renderer'\n | keyof OmittedGridColumnHTMLAttributes<TItem>\n >\n> &\n Readonly<{\n children?: ComponentType<GridBodyReactRendererProps<TItem>> | null;\n editModeRenderer?: ComponentType<GridBodyReactRendererProps<TItem>> | null;\n footer?: ReactNode;\n footerRenderer?: ComponentType<GridEdgeReactRendererProps<TItem>> | null;\n header?: ReactNode;\n headerRenderer?: ComponentType<GridEdgeReactRendererProps<TItem>> | null;\n renderer?: ComponentType<GridBodyReactRendererProps<TItem>> | null;\n }>;\n\ntype ReactBodyRenderer<TItem> = ComponentType<GridBodyReactRendererProps<TItem>> & {\n __wrapperRenderer?: ReactBodyRenderer<TItem>;\n};\n\ntype EditColumnRendererRoot = HTMLElement & { __editColumnRenderer?: GridBodyRenderer };\n\ntype ClearFunction = (arg0: HTMLElement & { _content: EditColumnRendererRoot }) => void;\n\n/**\n * Wraps a React renderer function to render empty when requested\n *\n * @returns\n */\nfunction editColumnReactRenderer<TItem>(reactBodyRenderer?: ReactBodyRenderer<TItem> | null) {\n if (!reactBodyRenderer) {\n return undefined;\n }\n\n reactBodyRenderer.__wrapperRenderer ||= function GridProEditColumnRenderer(props) {\n // If the model has __renderEmpty set, return null, otherwise call the original renderer\n return '__renderEmpty' in props.model ? null : createElement(reactBodyRenderer, props);\n };\n\n return reactBodyRenderer.__wrapperRenderer;\n}\n\n/**\n * Wraps a Grid body renderer function to make it request empty render before\n * the GridPro edit column clears cell content.\n */\nfunction editColumnRenderer(bodyRenderer?: (GridBodyRenderer & { __wrapperRenderer?: GridBodyRenderer }) | null) {\n if (!bodyRenderer) {\n return undefined;\n }\n\n bodyRenderer.__wrapperRenderer ||= (\n root: EditColumnRendererRoot,\n column: GridColumnElement & {\n __originalClearCellContent?: ClearFunction;\n _clearCellContent?: ClearFunction;\n },\n model,\n ) => {\n // Patch the column's _clearCellContent function which is called internally by grid-pro\n // when switching from edit mode to view mode and vice versa\n if (!column.__originalClearCellContent) {\n column.__originalClearCellContent = column._clearCellContent;\n\n column._clearCellContent = (cell) => {\n const cellRoot = cell._content;\n // Call the original renderer with __renderEmpty set to true to clear the content it manages\n cellRoot.__editColumnRenderer?.(cellRoot, column, Object.assign({}, model, { __renderEmpty: true }));\n // Call the original clearCellContent function to manually clear the cell content\n column.__originalClearCellContent?.(cell);\n };\n }\n\n // Update the cell content's renderer reference so that the correct one is used\n // to render empty when the cell is cleared\n root.__editColumnRenderer = bodyRenderer;\n\n // Call the original renderer\n bodyRenderer(root, column, model);\n };\n\n return bodyRenderer.__wrapperRenderer;\n}\n\nfunction GridProEditColumn<TItem = GridDefaultItem>(\n { children, footer, header, ...props }: GridProEditColumnProps<TItem>,\n ref: ForwardedRef<GridProEditColumnElement<TItem>>,\n): ReactElement | null {\n const [editModePortals, editModeRenderer] = useModelRenderer(editColumnReactRenderer(props.editModeRenderer), {\n renderSync: true,\n });\n const [headerPortals, headerRenderer] = useSimpleOrChildrenRenderer(props.headerRenderer, header, {\n renderSync: true,\n });\n const [footerPortals, footerRenderer] = useSimpleOrChildrenRenderer(props.footerRenderer, footer, {\n renderSync: true,\n });\n const [bodyPortals, bodyRenderer] = useModelRenderer(editColumnReactRenderer(props.renderer ?? children), {\n renderSync: true,\n });\n\n return (\n <_GridProEditColumn<TItem>\n {...props}\n editModeRenderer={editColumnRenderer(editModeRenderer)}\n footerRenderer={footerRenderer}\n headerRenderer={headerRenderer}\n ref={ref}\n renderer={editColumnRenderer(bodyRenderer)}\n >\n {editModePortals}\n {headerPortals}\n {footerPortals}\n {bodyPortals}\n </_GridProEditColumn>\n );\n}\n\nconst ForwardedGridProEditColumn = forwardRef(GridProEditColumn) as <TItem = GridDefaultItem>(\n props: GridProEditColumnProps<TItem> & RefAttributes<GridProEditColumnElement<TItem>>,\n) => ReactElement | null;\n\nexport { ForwardedGridProEditColumn as GridProEditColumn };\n", "import type { EventName } from \"@lit/react\";\nimport { GridProEditColumn as GridProEditColumnElement, } from \"@vaadin/grid-pro/vaadin-grid-pro-edit-column.js\";\nimport * as React from \"react\";\nimport { createComponent, type WebComponentProps } from \"../utils/createComponent.js\";\nexport { GridProEditColumnElement, };\nexport type GridProEditColumnEventMap<T1> = Readonly<{\n onEditorTypeChanged: EventName<CustomEvent<unknown>>;\n}>;\nconst events = { onEditorTypeChanged: \"editor-type-changed\" } as GridProEditColumnEventMap<unknown>;\nexport type GridProEditColumnProps<T1> = WebComponentProps<GridProEditColumnElement<T1>, GridProEditColumnEventMap<T1>>;\nexport const GridProEditColumn = createComponent({\n elementClass: GridProEditColumnElement, events, react: React, tagName: \"vaadin-grid-pro-edit-column\"\n}) as <T1>(props: GridProEditColumnProps<T1> & React.RefAttributes<GridProEditColumnElement<T1>>) => React.ReactElement | null;\n"],
5
+ "mappings": "AAAA,WAAc,kDACd,OAGE,cAAAA,EAIA,iBAAAC,MACK,QCRP,OAAS,qBAAqBC,MAAiC,kDAC/D,UAAYC,MAAW,QACvB,OAAS,mBAAAC,MAA+C,6BAKxD,IAAMC,EAAS,CAAE,oBAAqB,qBAAsB,EAE/CC,EAAoBC,EAAgB,CAC7C,aAAcC,EAA0B,OAAAH,EAAQ,MAAOI,EAAO,QAAS,6BAC3E,CAAC,EDMD,OAAS,oBAAAC,MAAwB,kCACjC,OAAS,+BAAAC,MAAmC,6CAiHxC,eAAAC,MAAA,oBAzEJ,SAASC,EAA+BC,EAAqD,CAC3F,GAAKA,EAIL,OAAAA,EAAkB,oBAAsB,SAAmCC,EAAO,CAEhF,MAAO,kBAAmBA,EAAM,MAAQ,KAAOC,EAAcF,EAAmBC,CAAK,CACvF,EAEOD,EAAkB,iBAC3B,CAMA,SAASG,EAAmBC,EAAqF,CAC/G,GAAKA,EAIL,OAAAA,EAAa,oBAAsB,CACjCC,EACAC,EAIAC,IACG,CAGED,EAAO,6BACVA,EAAO,2BAA6BA,EAAO,kBAE3CA,EAAO,kBAAqBE,GAAS,CACnC,IAAMC,EAAWD,EAAK,SAEtBC,EAAS,uBAAuBA,EAAUH,EAAQ,OAAO,OAAO,CAAC,EAAGC,EAAO,CAAE,cAAe,EAAK,CAAC,CAAC,EAEnGD,EAAO,6BAA6BE,CAAI,CAC1C,GAKFH,EAAK,qBAAuBD,EAG5BA,EAAaC,EAAMC,EAAQC,CAAK,CAClC,EAEOH,EAAa,iBACtB,CAEA,SAASM,EACP,CAAE,SAAAC,EAAU,OAAAC,EAAQ,OAAAC,EAAQ,GAAGZ,CAAM,EACrCa,EACqB,CACrB,GAAM,CAACC,EAAiBC,CAAgB,EAAIpB,EAAiBG,EAAwBE,EAAM,gBAAgB,EAAG,CAC5G,WAAY,EACd,CAAC,EACK,CAACgB,EAAeC,CAAc,EAAIrB,EAA4BI,EAAM,eAAgBY,EAAQ,CAChG,WAAY,EACd,CAAC,EACK,CAACM,EAAeC,CAAc,EAAIvB,EAA4BI,EAAM,eAAgBW,EAAQ,CAChG,WAAY,EACd,CAAC,EACK,CAACS,EAAajB,CAAY,EAAIR,EAAiBG,EAAwBE,EAAM,UAAYU,CAAQ,EAAG,CACxG,WAAY,EACd,CAAC,EAED,OACEb,EAACY,EAAA,CACE,GAAGT,EACJ,iBAAkBE,EAAmBa,CAAgB,EACrD,eAAgBI,EAChB,eAAgBF,EAChB,IAAKJ,EACL,SAAUX,EAAmBC,CAAY,EAExC,UAAAW,EACAE,EACAE,EACAE,GACH,CAEJ,CAEA,IAAMC,EAA6BC,EAAWb,CAAiB",
6
6
  "names": ["forwardRef", "createElement", "GridProEditColumnElement", "React", "createComponent", "events", "GridProEditColumn", "createComponent", "GridProEditColumnElement", "React", "useModelRenderer", "useSimpleOrChildrenRenderer", "jsxs", "editColumnReactRenderer", "reactBodyRenderer", "props", "createElement", "editColumnRenderer", "bodyRenderer", "root", "column", "model", "cell", "cellRoot", "GridProEditColumn", "children", "footer", "header", "ref", "editModePortals", "editModeRenderer", "headerPortals", "headerRenderer", "footerPortals", "footerRenderer", "bodyPortals", "ForwardedGridProEditColumn", "forwardRef"]
7
7
  }
package/index.d.ts CHANGED
@@ -1,81 +1,80 @@
1
- // Workaround for VSCode, enables TypeScript auto-imports form package.json
2
- import "./AccordionHeading.js";
3
- import "./Accordion.js";
4
- import "./AccordionPanel.js";
5
- import "./AppLayout.js";
6
- import "./DrawerToggle.js";
7
- import "./Avatar.js";
8
- import "./AvatarGroup.js";
9
- import "./BoardRow.js";
10
- import "./Board.js";
11
- import "./Button.js";
12
- import "./Chart.js";
13
- import "./ChartSeries.js";
14
- import "./Checkbox.js";
15
- import "./CheckboxGroup.js";
16
- import "./ComboBox.js";
17
- import "./ComboBoxLight.js";
18
- import "./ConfirmDialog.js";
19
- import "./ContextMenu.js";
20
- import "./CookieConsent.js";
21
- import "./CrudEdit.js";
22
- import "./CrudEditColumn.js";
23
- import "./Crud.js";
24
- import "./CustomField.js";
25
- import "./DatePickerLight.js";
26
- import "./DatePicker.js";
27
- import "./DateTimePicker.js";
28
- import "./DetailsSummary.js";
29
- import "./Details.js";
30
- import "./Dialog.js";
31
- import "./EmailField.js";
32
- import "./FormItem.js";
33
- import "./FormLayout.js";
34
- import "./GridColumnGroup.js";
35
- import "./GridColumn.js";
36
- import "./GridFilter.js";
37
- import "./GridFilterColumn.js";
38
- import "./GridSelectionColumn.js";
39
- import "./GridSorter.js";
40
- import "./GridSortColumn.js";
41
- import "./GridTreeToggle.js";
42
- import "./GridTreeColumn.js";
43
- import "./Grid.js";
44
- import "./GridProEditColumn.js";
45
- import "./GridPro.js";
46
- import "./HorizontalLayout.js";
47
- import "./Iconset.js";
48
- import "./Icon.js";
49
- import "./IntegerField.js";
50
- import "./Item.js";
51
- import "./ListBox.js";
52
- import "./LoginForm.js";
53
- import "./LoginOverlay.js";
54
- import "./Map.js";
55
- import "./MenuBar.js";
56
- import "./MessageInput.js";
57
- import "./Message.js";
58
- import "./MessageList.js";
59
- import "./MultiSelectComboBox.js";
60
- import "./Notification.js";
61
- import "./NumberField.js";
62
- import "./PasswordField.js";
63
- import "./ProgressBar.js";
64
- import "./RadioButton.js";
65
- import "./RadioGroup.js";
66
- import "./RichTextEditor.js";
67
- import "./Scroller.js";
68
- import "./Select.js";
69
- import "./SideNavItem.js";
70
- import "./SplitLayout.js";
71
- import "./SideNav.js";
72
- import "./Tab.js";
73
- import "./Tabs.js";
74
- import "./TabSheet.js";
75
- import "./TextArea.js";
76
- import "./TextField.js";
77
- import "./TimePicker.js";
78
- import "./Tooltip.js";
79
- import "./Upload.js";
80
- import "./VerticalLayout.js";
81
- import "./VirtualList.js";
1
+ export * from "./AccordionHeading.js";
2
+ export * from "./AccordionPanel.js";
3
+ export * from "./Accordion.js";
4
+ export * from "./AppLayout.js";
5
+ export * from "./DrawerToggle.js";
6
+ export * from "./AvatarGroup.js";
7
+ export * from "./Avatar.js";
8
+ export * from "./BoardRow.js";
9
+ export * from "./Board.js";
10
+ export * from "./Button.js";
11
+ export * from "./Chart.js";
12
+ export * from "./ChartSeries.js";
13
+ export * from "./Checkbox.js";
14
+ export * from "./CheckboxGroup.js";
15
+ export * from "./ComboBoxLight.js";
16
+ export * from "./ComboBox.js";
17
+ export * from "./ConfirmDialog.js";
18
+ export * from "./ContextMenu.js";
19
+ export * from "./CookieConsent.js";
20
+ export * from "./CrudEdit.js";
21
+ export * from "./CrudEditColumn.js";
22
+ export * from "./Crud.js";
23
+ export * from "./CustomField.js";
24
+ export * from "./DatePickerLight.js";
25
+ export * from "./DatePicker.js";
26
+ export * from "./DateTimePicker.js";
27
+ export * from "./DetailsSummary.js";
28
+ export * from "./Details.js";
29
+ export * from "./Dialog.js";
30
+ export * from "./EmailField.js";
31
+ export * from "./FormItem.js";
32
+ export * from "./FormLayout.js";
33
+ export * from "./GridColumnGroup.js";
34
+ export * from "./GridColumn.js";
35
+ export * from "./GridFilter.js";
36
+ export * from "./GridFilterColumn.js";
37
+ export * from "./GridSelectionColumn.js";
38
+ export * from "./GridSorter.js";
39
+ export * from "./GridSortColumn.js";
40
+ export * from "./GridTreeToggle.js";
41
+ export * from "./GridTreeColumn.js";
42
+ export * from "./Grid.js";
43
+ export * from "./GridProEditColumn.js";
44
+ export * from "./GridPro.js";
45
+ export * from "./HorizontalLayout.js";
46
+ export * from "./Iconset.js";
47
+ export * from "./Icon.js";
48
+ export * from "./IntegerField.js";
49
+ export * from "./Item.js";
50
+ export * from "./ListBox.js";
51
+ export * from "./LoginForm.js";
52
+ export * from "./LoginOverlay.js";
53
+ export * from "./Map.js";
54
+ export * from "./MenuBar.js";
55
+ export * from "./MessageInput.js";
56
+ export * from "./Message.js";
57
+ export * from "./MessageList.js";
58
+ export * from "./MultiSelectComboBox.js";
59
+ export * from "./Notification.js";
60
+ export * from "./NumberField.js";
61
+ export * from "./PasswordField.js";
62
+ export * from "./ProgressBar.js";
63
+ export * from "./RadioButton.js";
64
+ export * from "./RadioGroup.js";
65
+ export * from "./RichTextEditor.js";
66
+ export * from "./Scroller.js";
67
+ export * from "./Select.js";
68
+ export * from "./SideNavItem.js";
69
+ export * from "./SideNav.js";
70
+ export * from "./SplitLayout.js";
71
+ export * from "./Tab.js";
72
+ export * from "./Tabs.js";
73
+ export * from "./TabSheet.js";
74
+ export * from "./TextArea.js";
75
+ export * from "./TextField.js";
76
+ export * from "./TimePicker.js";
77
+ export * from "./Tooltip.js";
78
+ export * from "./Upload.js";
79
+ export * from "./VerticalLayout.js";
80
+ export * from "./VirtualList.js";
package/index.js CHANGED
@@ -1 +1,80 @@
1
- // Intentionally empty, please import from individual contained .js files
1
+ export * from "./AccordionHeading.js";
2
+ export * from "./AccordionPanel.js";
3
+ export * from "./Accordion.js";
4
+ export * from "./AppLayout.js";
5
+ export * from "./DrawerToggle.js";
6
+ export * from "./AvatarGroup.js";
7
+ export * from "./Avatar.js";
8
+ export * from "./BoardRow.js";
9
+ export * from "./Board.js";
10
+ export * from "./Button.js";
11
+ export * from "./Chart.js";
12
+ export * from "./ChartSeries.js";
13
+ export * from "./Checkbox.js";
14
+ export * from "./CheckboxGroup.js";
15
+ export * from "./ComboBoxLight.js";
16
+ export * from "./ComboBox.js";
17
+ export * from "./ConfirmDialog.js";
18
+ export * from "./ContextMenu.js";
19
+ export * from "./CookieConsent.js";
20
+ export * from "./CrudEdit.js";
21
+ export * from "./CrudEditColumn.js";
22
+ export * from "./Crud.js";
23
+ export * from "./CustomField.js";
24
+ export * from "./DatePickerLight.js";
25
+ export * from "./DatePicker.js";
26
+ export * from "./DateTimePicker.js";
27
+ export * from "./DetailsSummary.js";
28
+ export * from "./Details.js";
29
+ export * from "./Dialog.js";
30
+ export * from "./EmailField.js";
31
+ export * from "./FormItem.js";
32
+ export * from "./FormLayout.js";
33
+ export * from "./GridColumnGroup.js";
34
+ export * from "./GridColumn.js";
35
+ export * from "./GridFilter.js";
36
+ export * from "./GridFilterColumn.js";
37
+ export * from "./GridSelectionColumn.js";
38
+ export * from "./GridSorter.js";
39
+ export * from "./GridSortColumn.js";
40
+ export * from "./GridTreeToggle.js";
41
+ export * from "./GridTreeColumn.js";
42
+ export * from "./Grid.js";
43
+ export * from "./GridProEditColumn.js";
44
+ export * from "./GridPro.js";
45
+ export * from "./HorizontalLayout.js";
46
+ export * from "./Iconset.js";
47
+ export * from "./Icon.js";
48
+ export * from "./IntegerField.js";
49
+ export * from "./Item.js";
50
+ export * from "./ListBox.js";
51
+ export * from "./LoginForm.js";
52
+ export * from "./LoginOverlay.js";
53
+ export * from "./Map.js";
54
+ export * from "./MenuBar.js";
55
+ export * from "./MessageInput.js";
56
+ export * from "./Message.js";
57
+ export * from "./MessageList.js";
58
+ export * from "./MultiSelectComboBox.js";
59
+ export * from "./Notification.js";
60
+ export * from "./NumberField.js";
61
+ export * from "./PasswordField.js";
62
+ export * from "./ProgressBar.js";
63
+ export * from "./RadioButton.js";
64
+ export * from "./RadioGroup.js";
65
+ export * from "./RichTextEditor.js";
66
+ export * from "./Scroller.js";
67
+ export * from "./Select.js";
68
+ export * from "./SideNavItem.js";
69
+ export * from "./SideNav.js";
70
+ export * from "./SplitLayout.js";
71
+ export * from "./Tab.js";
72
+ export * from "./Tabs.js";
73
+ export * from "./TabSheet.js";
74
+ export * from "./TextArea.js";
75
+ export * from "./TextField.js";
76
+ export * from "./TimePicker.js";
77
+ export * from "./Tooltip.js";
78
+ export * from "./Upload.js";
79
+ export * from "./VerticalLayout.js";
80
+ export * from "./VirtualList.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/react-components",
3
- "version": "24.4.0-alpha5",
3
+ "version": "24.4.0-alpha6",
4
4
  "description": "React wrappers for Vaadin components",
5
5
  "type": "module",
6
6
  "module": "index.js",
@@ -39,70 +39,70 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@lit/react": "^1.0.0",
42
- "@vaadin/a11y-base": "24.4.0-alpha5",
43
- "@vaadin/accordion": "24.4.0-alpha5",
44
- "@vaadin/app-layout": "24.4.0-alpha5",
45
- "@vaadin/avatar": "24.4.0-alpha5",
46
- "@vaadin/avatar-group": "24.4.0-alpha5",
47
- "@vaadin/board": "24.4.0-alpha5",
48
- "@vaadin/button": "24.4.0-alpha5",
49
- "@vaadin/charts": "24.4.0-alpha5",
50
- "@vaadin/checkbox": "24.4.0-alpha5",
51
- "@vaadin/checkbox-group": "24.4.0-alpha5",
52
- "@vaadin/combo-box": "24.4.0-alpha5",
53
- "@vaadin/component-base": "24.4.0-alpha5",
54
- "@vaadin/confirm-dialog": "24.4.0-alpha5",
55
- "@vaadin/context-menu": "24.4.0-alpha5",
56
- "@vaadin/cookie-consent": "24.4.0-alpha5",
57
- "@vaadin/crud": "24.4.0-alpha5",
58
- "@vaadin/custom-field": "24.4.0-alpha5",
59
- "@vaadin/date-picker": "24.4.0-alpha5",
60
- "@vaadin/date-time-picker": "24.4.0-alpha5",
61
- "@vaadin/details": "24.4.0-alpha5",
62
- "@vaadin/dialog": "24.4.0-alpha5",
63
- "@vaadin/email-field": "24.4.0-alpha5",
64
- "@vaadin/field-base": "24.4.0-alpha5",
65
- "@vaadin/field-highlighter": "24.4.0-alpha5",
66
- "@vaadin/form-layout": "24.4.0-alpha5",
67
- "@vaadin/grid": "24.4.0-alpha5",
68
- "@vaadin/grid-pro": "24.4.0-alpha5",
69
- "@vaadin/horizontal-layout": "24.4.0-alpha5",
70
- "@vaadin/icon": "24.4.0-alpha5",
71
- "@vaadin/icons": "24.4.0-alpha5",
72
- "@vaadin/input-container": "24.4.0-alpha5",
73
- "@vaadin/integer-field": "24.4.0-alpha5",
74
- "@vaadin/item": "24.4.0-alpha5",
75
- "@vaadin/list-box": "24.4.0-alpha5",
76
- "@vaadin/lit-renderer": "24.4.0-alpha5",
77
- "@vaadin/login": "24.4.0-alpha5",
78
- "@vaadin/map": "24.4.0-alpha5",
79
- "@vaadin/menu-bar": "24.4.0-alpha5",
80
- "@vaadin/message-input": "24.4.0-alpha5",
81
- "@vaadin/message-list": "24.4.0-alpha5",
82
- "@vaadin/multi-select-combo-box": "24.4.0-alpha5",
83
- "@vaadin/notification": "24.4.0-alpha5",
84
- "@vaadin/number-field": "24.4.0-alpha5",
85
- "@vaadin/overlay": "24.4.0-alpha5",
86
- "@vaadin/password-field": "24.4.0-alpha5",
87
- "@vaadin/progress-bar": "24.4.0-alpha5",
88
- "@vaadin/radio-group": "24.4.0-alpha5",
89
- "@vaadin/rich-text-editor": "24.4.0-alpha5",
90
- "@vaadin/scroller": "24.4.0-alpha5",
91
- "@vaadin/select": "24.4.0-alpha5",
92
- "@vaadin/side-nav": "24.4.0-alpha5",
93
- "@vaadin/split-layout": "24.4.0-alpha5",
94
- "@vaadin/tabs": "24.4.0-alpha5",
95
- "@vaadin/tabsheet": "24.4.0-alpha5",
96
- "@vaadin/text-area": "24.4.0-alpha5",
97
- "@vaadin/text-field": "24.4.0-alpha5",
98
- "@vaadin/time-picker": "24.4.0-alpha5",
99
- "@vaadin/tooltip": "24.4.0-alpha5",
100
- "@vaadin/upload": "24.4.0-alpha5",
101
- "@vaadin/vaadin-lumo-styles": "24.4.0-alpha5",
102
- "@vaadin/vaadin-material-styles": "24.4.0-alpha5",
103
- "@vaadin/vaadin-themable-mixin": "24.4.0-alpha5",
104
- "@vaadin/vertical-layout": "24.4.0-alpha5",
105
- "@vaadin/virtual-list": "24.4.0-alpha5"
42
+ "@vaadin/a11y-base": "24.4.0-alpha6",
43
+ "@vaadin/accordion": "24.4.0-alpha6",
44
+ "@vaadin/app-layout": "24.4.0-alpha6",
45
+ "@vaadin/avatar": "24.4.0-alpha6",
46
+ "@vaadin/avatar-group": "24.4.0-alpha6",
47
+ "@vaadin/board": "24.4.0-alpha6",
48
+ "@vaadin/button": "24.4.0-alpha6",
49
+ "@vaadin/charts": "24.4.0-alpha6",
50
+ "@vaadin/checkbox": "24.4.0-alpha6",
51
+ "@vaadin/checkbox-group": "24.4.0-alpha6",
52
+ "@vaadin/combo-box": "24.4.0-alpha6",
53
+ "@vaadin/component-base": "24.4.0-alpha6",
54
+ "@vaadin/confirm-dialog": "24.4.0-alpha6",
55
+ "@vaadin/context-menu": "24.4.0-alpha6",
56
+ "@vaadin/cookie-consent": "24.4.0-alpha6",
57
+ "@vaadin/crud": "24.4.0-alpha6",
58
+ "@vaadin/custom-field": "24.4.0-alpha6",
59
+ "@vaadin/date-picker": "24.4.0-alpha6",
60
+ "@vaadin/date-time-picker": "24.4.0-alpha6",
61
+ "@vaadin/details": "24.4.0-alpha6",
62
+ "@vaadin/dialog": "24.4.0-alpha6",
63
+ "@vaadin/email-field": "24.4.0-alpha6",
64
+ "@vaadin/field-base": "24.4.0-alpha6",
65
+ "@vaadin/field-highlighter": "24.4.0-alpha6",
66
+ "@vaadin/form-layout": "24.4.0-alpha6",
67
+ "@vaadin/grid": "24.4.0-alpha6",
68
+ "@vaadin/grid-pro": "24.4.0-alpha6",
69
+ "@vaadin/horizontal-layout": "24.4.0-alpha6",
70
+ "@vaadin/icon": "24.4.0-alpha6",
71
+ "@vaadin/icons": "24.4.0-alpha6",
72
+ "@vaadin/input-container": "24.4.0-alpha6",
73
+ "@vaadin/integer-field": "24.4.0-alpha6",
74
+ "@vaadin/item": "24.4.0-alpha6",
75
+ "@vaadin/list-box": "24.4.0-alpha6",
76
+ "@vaadin/lit-renderer": "24.4.0-alpha6",
77
+ "@vaadin/login": "24.4.0-alpha6",
78
+ "@vaadin/map": "24.4.0-alpha6",
79
+ "@vaadin/menu-bar": "24.4.0-alpha6",
80
+ "@vaadin/message-input": "24.4.0-alpha6",
81
+ "@vaadin/message-list": "24.4.0-alpha6",
82
+ "@vaadin/multi-select-combo-box": "24.4.0-alpha6",
83
+ "@vaadin/notification": "24.4.0-alpha6",
84
+ "@vaadin/number-field": "24.4.0-alpha6",
85
+ "@vaadin/overlay": "24.4.0-alpha6",
86
+ "@vaadin/password-field": "24.4.0-alpha6",
87
+ "@vaadin/progress-bar": "24.4.0-alpha6",
88
+ "@vaadin/radio-group": "24.4.0-alpha6",
89
+ "@vaadin/rich-text-editor": "24.4.0-alpha6",
90
+ "@vaadin/scroller": "24.4.0-alpha6",
91
+ "@vaadin/select": "24.4.0-alpha6",
92
+ "@vaadin/side-nav": "24.4.0-alpha6",
93
+ "@vaadin/split-layout": "24.4.0-alpha6",
94
+ "@vaadin/tabs": "24.4.0-alpha6",
95
+ "@vaadin/tabsheet": "24.4.0-alpha6",
96
+ "@vaadin/text-area": "24.4.0-alpha6",
97
+ "@vaadin/text-field": "24.4.0-alpha6",
98
+ "@vaadin/time-picker": "24.4.0-alpha6",
99
+ "@vaadin/tooltip": "24.4.0-alpha6",
100
+ "@vaadin/upload": "24.4.0-alpha6",
101
+ "@vaadin/vaadin-lumo-styles": "24.4.0-alpha6",
102
+ "@vaadin/vaadin-material-styles": "24.4.0-alpha6",
103
+ "@vaadin/vaadin-themable-mixin": "24.4.0-alpha6",
104
+ "@vaadin/vertical-layout": "24.4.0-alpha6",
105
+ "@vaadin/virtual-list": "24.4.0-alpha6"
106
106
  },
107
107
  "author": "Vaadin Ltd.",
108
108
  "license": "Apache-2.0",
@@ -123,6 +123,7 @@
123
123
  "optional": true
124
124
  }
125
125
  },
126
+ "sideEffects": false,
126
127
  "devDependencies": {
127
128
  "@esm-bundle/chai": "^4.3.4-fix.0",
128
129
  "@testing-library/react": "^14.0.0",
@@ -170,6 +171,10 @@
170
171
  "*.js.map"
171
172
  ],
172
173
  "exports": {
174
+ ".": {
175
+ "types": "./index.d.ts",
176
+ "default": "./index.js"
177
+ },
173
178
  "./package.json": "./package.json",
174
179
  "./Accordion.js": {
175
180
  "types": "./Accordion.d.ts",
@@ -1,2 +1,2 @@
1
- import{createElement as a,useCallback as l,useReducer as i}from"react";import{createPortal as m,flushSync as c}from"react-dom";const R=new Map;function W(e,[r,...t]){return new Map(e).set(r,t)}function f(e,r,t){const[d,o]=i(W,R),p=l((...n)=>{t?.renderSync?c(()=>o(n)):o(n)},[]);return e?[Array.from(d.entries()).map(([n,s])=>m(r?a(e,r(s)):e,n)),p]:[]}export{f as useRenderer};
1
+ import{createElement as i,useCallback as c,useReducer as m}from"react";import{createPortal as R,flushSync as W}from"react-dom";const u=new Map;function P(e,[n,...o]){return new Map(e).set(n,o)}function C(e,n,o){const[a,s]=m(P,u),l=c((...t)=>{if(o?.renderSync){const r=globalThis.console,d=r.error;r.error=p=>{p.includes("flushSync")||d(p)},W(()=>s(t)),r.error=d}else s(t)},[]);return e?[Array.from(a.entries()).map(([t,r])=>R(n?i(e,n(r)):e,t)),l]:[]}export{C as useRenderer};
2
2
  //# sourceMappingURL=useRenderer.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/renderers/useRenderer.ts"],
4
- "sourcesContent": ["import {\n type ComponentType,\n createElement,\n type PropsWithChildren,\n type ReactElement,\n type ReactNode,\n useCallback,\n useReducer,\n} from 'react';\nimport { createPortal, flushSync } from 'react-dom';\nimport type { Slice, WebComponentRenderer } from './renderer.js';\n\nexport type UseRendererResult<W extends WebComponentRenderer> = readonly [\n portals?: ReadonlyArray<ReactElement | null>,\n renderer?: W,\n];\n\nconst initialState = new Map();\n\nfunction rendererReducer<W extends WebComponentRenderer>(\n state: Map<HTMLElement, Slice<Parameters<W>, 1>>,\n [root, ...args]: Parameters<W>,\n): Map<HTMLElement, Slice<Parameters<W>, 1>> {\n return new Map(state).set(root, args as Slice<Parameters<W>, 1>);\n}\n\nexport type RendererConfig = {\n renderSync?: boolean;\n};\n\nexport function useRenderer<P extends {}, W extends WebComponentRenderer>(\n node: ReactNode,\n convert?: (props: Slice<Parameters<W>, 1>) => PropsWithChildren<P>,\n config?: RendererConfig,\n): UseRendererResult<W>;\nexport function useRenderer<P extends {}, W extends WebComponentRenderer>(\n reactRenderer: ComponentType<P> | null | undefined,\n convert: (props: Slice<Parameters<W>, 1>) => PropsWithChildren<P>,\n config?: RendererConfig,\n): UseRendererResult<W>;\nexport function useRenderer<P extends {}, W extends WebComponentRenderer>(\n reactRendererOrNode: ReactNode | ComponentType<P> | null | undefined,\n convert?: (props: Slice<Parameters<W>, 1>) => PropsWithChildren<P>,\n config?: RendererConfig,\n): UseRendererResult<W> {\n const [map, update] = useReducer<typeof rendererReducer<W>>(rendererReducer, initialState);\n const renderer = useCallback(\n ((...args: Parameters<W>) => {\n if (config?.renderSync) {\n flushSync(() => update(args));\n } else {\n update(args);\n }\n }) as W,\n [],\n );\n\n return reactRendererOrNode\n ? [\n Array.from(map.entries()).map(([root, args]) =>\n createPortal(\n convert\n ? createElement<P>(reactRendererOrNode as ComponentType<P>, convert(args))\n : (reactRendererOrNode as ReactNode),\n root,\n ),\n ),\n renderer,\n ]\n : [];\n}\n"],
5
- "mappings": "AAAA,OAEE,iBAAAA,EAIA,eAAAC,EACA,cAAAC,MACK,QACP,OAAS,gBAAAC,EAAc,aAAAC,MAAiB,YAQxC,MAAMC,EAAe,IAAI,IAEzB,SAASC,EACPC,EACA,CAACC,EAAM,GAAGC,CAAI,EAC6B,CAC3C,OAAO,IAAI,IAAIF,CAAK,EAAE,IAAIC,EAAMC,CAA+B,CACjE,CAgBO,SAASC,EACdC,EACAC,EACAC,EACsB,CACtB,KAAM,CAACC,EAAKC,CAAM,EAAIb,EAAsCI,EAAiBD,CAAY,EACnFW,EAAWf,EACd,IAAIQ,IAAwB,CACvBI,GAAQ,WACVT,EAAU,IAAMW,EAAON,CAAI,CAAC,EAE5BM,EAAON,CAAI,CAEf,EACA,CAAC,CACH,EAEA,OAAOE,EACH,CACE,MAAM,KAAKG,EAAI,QAAQ,CAAC,EAAE,IAAI,CAAC,CAACN,EAAMC,CAAI,IACxCN,EACES,EACIZ,EAAiBW,EAAyCC,EAAQH,CAAI,CAAC,EACtEE,EACLH,CACF,CACF,EACAQ,CACF,EACA,CAAC,CACP",
6
- "names": ["createElement", "useCallback", "useReducer", "createPortal", "flushSync", "initialState", "rendererReducer", "state", "root", "args", "useRenderer", "reactRendererOrNode", "convert", "config", "map", "update", "renderer"]
4
+ "sourcesContent": ["import {\n type ComponentType,\n createElement,\n type PropsWithChildren,\n type ReactElement,\n type ReactNode,\n useCallback,\n useReducer,\n} from 'react';\nimport { createPortal, flushSync } from 'react-dom';\nimport type { Slice, WebComponentRenderer } from './renderer.js';\n\nexport type UseRendererResult<W extends WebComponentRenderer> = readonly [\n portals?: ReadonlyArray<ReactElement | null>,\n renderer?: W,\n];\n\nconst initialState = new Map();\n\nfunction rendererReducer<W extends WebComponentRenderer>(\n state: Map<HTMLElement, Slice<Parameters<W>, 1>>,\n [root, ...args]: Parameters<W>,\n): Map<HTMLElement, Slice<Parameters<W>, 1>> {\n return new Map(state).set(root, args as Slice<Parameters<W>, 1>);\n}\n\nexport type RendererConfig = {\n renderSync?: boolean;\n};\n\nexport function useRenderer<P extends {}, W extends WebComponentRenderer>(\n node: ReactNode,\n convert?: (props: Slice<Parameters<W>, 1>) => PropsWithChildren<P>,\n config?: RendererConfig,\n): UseRendererResult<W>;\nexport function useRenderer<P extends {}, W extends WebComponentRenderer>(\n reactRenderer: ComponentType<P> | null | undefined,\n convert: (props: Slice<Parameters<W>, 1>) => PropsWithChildren<P>,\n config?: RendererConfig,\n): UseRendererResult<W>;\nexport function useRenderer<P extends {}, W extends WebComponentRenderer>(\n reactRendererOrNode: ReactNode | ComponentType<P> | null | undefined,\n convert?: (props: Slice<Parameters<W>, 1>) => PropsWithChildren<P>,\n config?: RendererConfig,\n): UseRendererResult<W> {\n const [map, update] = useReducer<typeof rendererReducer<W>>(rendererReducer, initialState);\n const renderer = useCallback(\n ((...args: Parameters<W>) => {\n if (config?.renderSync) {\n // The web components may request multiple synchronous renderer calls that\n // would result in flushSync logging a warning (and actually executing the\n // overlapping flushSync in microtask timing). Suppress the warning and allow\n // the resulting asynchronicity.\n const console = globalThis.console as any;\n const error = console.error;\n console.error = (message: string) => {\n if (message.includes('flushSync')) {\n return;\n }\n error(message);\n };\n flushSync(() => update(args));\n console.error = error;\n } else {\n update(args);\n }\n }) as W,\n [],\n );\n\n return reactRendererOrNode\n ? [\n Array.from(map.entries()).map(([root, args]) =>\n createPortal(\n convert\n ? createElement<P>(reactRendererOrNode as ComponentType<P>, convert(args))\n : (reactRendererOrNode as ReactNode),\n root,\n ),\n ),\n renderer,\n ]\n : [];\n}\n"],
5
+ "mappings": "AAAA,OAEE,iBAAAA,EAIA,eAAAC,EACA,cAAAC,MACK,QACP,OAAS,gBAAAC,EAAc,aAAAC,MAAiB,YAQxC,MAAMC,EAAe,IAAI,IAEzB,SAASC,EACPC,EACA,CAACC,EAAM,GAAGC,CAAI,EAC6B,CAC3C,OAAO,IAAI,IAAIF,CAAK,EAAE,IAAIC,EAAMC,CAA+B,CACjE,CAgBO,SAASC,EACdC,EACAC,EACAC,EACsB,CACtB,KAAM,CAACC,EAAKC,CAAM,EAAIb,EAAsCI,EAAiBD,CAAY,EACnFW,EAAWf,EACd,IAAIQ,IAAwB,CAC3B,GAAII,GAAQ,WAAY,CAKtB,MAAMI,EAAU,WAAW,QACrBC,EAAQD,EAAQ,MACtBA,EAAQ,MAASE,GAAoB,CAC/BA,EAAQ,SAAS,WAAW,GAGhCD,EAAMC,CAAO,CACf,EACAf,EAAU,IAAMW,EAAON,CAAI,CAAC,EAC5BQ,EAAQ,MAAQC,CAClB,MACEH,EAAON,CAAI,CAEf,EACA,CAAC,CACH,EAEA,OAAOE,EACH,CACE,MAAM,KAAKG,EAAI,QAAQ,CAAC,EAAE,IAAI,CAAC,CAACN,EAAMC,CAAI,IACxCN,EACES,EACIZ,EAAiBW,EAAyCC,EAAQH,CAAI,CAAC,EACtEE,EACLH,CACF,CACF,EACAQ,CACF,EACA,CAAC,CACP",
6
+ "names": ["createElement", "useCallback", "useReducer", "createPortal", "flushSync", "initialState", "rendererReducer", "state", "root", "args", "useRenderer", "reactRendererOrNode", "convert", "config", "map", "update", "renderer", "console", "error", "message"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{createComponent as n}from"@lit/react";window.Vaadin??={},window.Vaadin.registrations??=[],window.Vaadin.registrations.push({is:"@vaadin/react-components",version:"24.4.0-alpha5"});function s(e){const{elementClass:t}=e;return n("_properties"in t?{...e,elementClass:{name:t.name,prototype:{...t._properties,hidden:Boolean}}}:e)}export{s as createComponent};
1
+ import{createComponent as n}from"@lit/react";window.Vaadin??={},window.Vaadin.registrations??=[],window.Vaadin.registrations.push({is:"@vaadin/react-components",version:"24.4.0-alpha6"});function s(e){const{elementClass:t}=e;return n("_properties"in t?{...e,elementClass:{name:t.name,prototype:{...t._properties,hidden:Boolean}}}:e)}export{s as createComponent};
2
2
  //# sourceMappingURL=createComponent.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/utils/createComponent.ts"],
4
- "sourcesContent": ["import { createComponent as _createComponent, type EventName } from '@lit/react';\nimport type { ThemePropertyMixinClass } from '@vaadin/vaadin-themable-mixin/vaadin-theme-property-mixin.js';\nimport type React from 'react';\nimport type { RefAttributes } from 'react';\n\ndeclare const __VERSION__: string;\n\ndeclare global {\n interface VaadinRegistration {\n is: string;\n version: string;\n }\n\n interface Vaadin {\n registrations?: VaadinRegistration[];\n }\n\n interface Window {\n // @ts-expect-error: Different declaration from one of the dependencies.\n Vaadin?: Vaadin;\n }\n}\n\nwindow.Vaadin ??= {};\nwindow.Vaadin.registrations ??= [];\nwindow.Vaadin.registrations.push({\n is: '@vaadin/react-components',\n version: /* updated-by-script */ '24.4.0-alpha5',\n});\n\n// TODO: Remove when types from @lit-labs/react are exported\nexport type EventNames = Record<string, EventName | string>;\ntype Constructor<T> = { new (): T; name: string };\ntype PolymerConstructor<T> = Constructor<T> & { _properties: Record<string, unknown> };\ntype Options<I extends HTMLElement, E extends EventNames = {}> = Readonly<{\n displayName?: string;\n elementClass: Constructor<I> | PolymerConstructor<I>;\n events?: E;\n react: typeof window.React;\n tagName: string;\n}>;\n\n// A map of expected event listener types based on EventNames.\ntype EventListeners<R extends EventNames> = {\n [K in keyof R]?: R[K] extends EventName ? (e: R[K]['__eventType']) => void : (e: Event) => void;\n};\n\n// Props derived from custom element class. Currently has limitations of making\n// all properties optional and also surfaces life cycle methods in autocomplete.\n// TODO: LoginOverlay has \"autofocus\" property, so we add it back manually.\ntype ElementProps<I> = Partial<Omit<I, keyof HTMLElement>> & { autofocus?: boolean };\n\n// Acceptable props to the React component.\ntype ComponentProps<I, E extends EventNames = {}> = Omit<\n React.HTMLAttributes<I>,\n // Prefer type of provided event handler props or those on element over\n // built-in HTMLAttributes\n keyof E | keyof ElementProps<I>\n> &\n EventListeners<E> &\n ElementProps<I>;\n\nexport type ThemedWebComponentProps<\n I extends ThemePropertyMixinClass & HTMLElement,\n E extends EventNames = {},\n> = ComponentProps<I, E> & {\n /**\n * Attribute that can be used by the component to apply built-in style variants,\n * or to propagate its value to the sub-components in Shadow DOM.\n *\n * @see ThemePropertyMixinClass#_theme\n */\n theme?: string;\n};\n\ntype AllWebComponentProps<I extends HTMLElement, E extends EventNames = {}> = I extends ThemePropertyMixinClass\n ? ThemedWebComponentProps<I, E>\n : ComponentProps<I, E>;\n\nexport type WebComponentProps<I extends HTMLElement, E extends EventNames = {}> = Partial<AllWebComponentProps<I, E>>;\n\n// We need a separate declaration here; otherwise, the TypeScript fails into the\n// endless loop trying to resolve the typings.\nexport function createComponent<I extends HTMLElement, E extends EventNames = {}>(\n options: Options<I, E>,\n): (props: WebComponentProps<I, E> & RefAttributes<I>) => React.ReactElement | null;\n\nexport function createComponent<I extends HTMLElement, E extends EventNames = {}>(options: Options<I, E>): any {\n const { elementClass } = options;\n\n return _createComponent(\n '_properties' in elementClass\n ? {\n ...options,\n // TODO: improve or remove the Polymer workaround\n // 'createComponent' relies on key presence on the custom element class,\n // but Polymer defines properties on the prototype when the first element\n // is created. Workaround: pass a mock object with properties in\n // the prototype.\n elementClass: {\n // @ts-expect-error: it is a specific workaround for Polymer classes.\n name: elementClass.name,\n prototype: { ...elementClass._properties, hidden: Boolean },\n },\n }\n : options,\n );\n}\n"],
4
+ "sourcesContent": ["import { createComponent as _createComponent, type EventName } from '@lit/react';\nimport type { ThemePropertyMixinClass } from '@vaadin/vaadin-themable-mixin/vaadin-theme-property-mixin.js';\nimport type React from 'react';\nimport type { RefAttributes } from 'react';\n\ndeclare const __VERSION__: string;\n\ndeclare global {\n interface VaadinRegistration {\n is: string;\n version: string;\n }\n\n interface Vaadin {\n registrations?: VaadinRegistration[];\n }\n\n interface Window {\n // @ts-expect-error: Different declaration from one of the dependencies.\n Vaadin?: Vaadin;\n }\n}\n\nwindow.Vaadin ??= {};\nwindow.Vaadin.registrations ??= [];\nwindow.Vaadin.registrations.push({\n is: '@vaadin/react-components',\n version: /* updated-by-script */ '24.4.0-alpha6',\n});\n\n// TODO: Remove when types from @lit-labs/react are exported\nexport type EventNames = Record<string, EventName | string>;\ntype Constructor<T> = { new (): T; name: string };\ntype PolymerConstructor<T> = Constructor<T> & { _properties: Record<string, unknown> };\ntype Options<I extends HTMLElement, E extends EventNames = {}> = Readonly<{\n displayName?: string;\n elementClass: Constructor<I> | PolymerConstructor<I>;\n events?: E;\n react: typeof window.React;\n tagName: string;\n}>;\n\n// A map of expected event listener types based on EventNames.\ntype EventListeners<R extends EventNames> = {\n [K in keyof R]?: R[K] extends EventName ? (e: R[K]['__eventType']) => void : (e: Event) => void;\n};\n\n// Props derived from custom element class. Currently has limitations of making\n// all properties optional and also surfaces life cycle methods in autocomplete.\n// TODO: LoginOverlay has \"autofocus\" property, so we add it back manually.\ntype ElementProps<I> = Partial<Omit<I, keyof HTMLElement>> & { autofocus?: boolean };\n\n// Acceptable props to the React component.\ntype ComponentProps<I, E extends EventNames = {}> = Omit<\n React.HTMLAttributes<I>,\n // Prefer type of provided event handler props or those on element over\n // built-in HTMLAttributes\n keyof E | keyof ElementProps<I>\n> &\n EventListeners<E> &\n ElementProps<I>;\n\nexport type ThemedWebComponentProps<\n I extends ThemePropertyMixinClass & HTMLElement,\n E extends EventNames = {},\n> = ComponentProps<I, E> & {\n /**\n * Attribute that can be used by the component to apply built-in style variants,\n * or to propagate its value to the sub-components in Shadow DOM.\n *\n * @see ThemePropertyMixinClass#_theme\n */\n theme?: string;\n};\n\ntype AllWebComponentProps<I extends HTMLElement, E extends EventNames = {}> = I extends ThemePropertyMixinClass\n ? ThemedWebComponentProps<I, E>\n : ComponentProps<I, E>;\n\nexport type WebComponentProps<I extends HTMLElement, E extends EventNames = {}> = Partial<AllWebComponentProps<I, E>>;\n\n// We need a separate declaration here; otherwise, the TypeScript fails into the\n// endless loop trying to resolve the typings.\nexport function createComponent<I extends HTMLElement, E extends EventNames = {}>(\n options: Options<I, E>,\n): (props: WebComponentProps<I, E> & RefAttributes<I>) => React.ReactElement | null;\n\nexport function createComponent<I extends HTMLElement, E extends EventNames = {}>(options: Options<I, E>): any {\n const { elementClass } = options;\n\n return _createComponent(\n '_properties' in elementClass\n ? {\n ...options,\n // TODO: improve or remove the Polymer workaround\n // 'createComponent' relies on key presence on the custom element class,\n // but Polymer defines properties on the prototype when the first element\n // is created. Workaround: pass a mock object with properties in\n // the prototype.\n elementClass: {\n // @ts-expect-error: it is a specific workaround for Polymer classes.\n name: elementClass.name,\n prototype: { ...elementClass._properties, hidden: Boolean },\n },\n }\n : options,\n );\n}\n"],
5
5
  "mappings": "AAAA,OAAS,mBAAmBA,MAAwC,aAuBpE,OAAO,SAAW,CAAC,EACnB,OAAO,OAAO,gBAAkB,CAAC,EACjC,OAAO,OAAO,cAAc,KAAK,CAC/B,GAAI,2BACJ,QAAiC,eACnC,CAAC,EA2DM,SAASC,EAAkEC,EAA6B,CAC7G,KAAM,CAAE,aAAAC,CAAa,EAAID,EAEzB,OAAOF,EACL,gBAAiBG,EACb,CACE,GAAGD,EAMH,aAAc,CAEZ,KAAMC,EAAa,KACnB,UAAW,CAAE,GAAGA,EAAa,YAAa,OAAQ,OAAQ,CAC5D,CACF,EACAD,CACN,CACF",
6
6
  "names": ["_createComponent", "createComponent", "options", "elementClass"]
7
7
  }